public static List merge(@Nonnull final List... list) {
// calculate length first
int mergedLength = 0;
for (List ts : list) {
mergedLength += ts.size();
}
final List mergedList = new ArrayList<>(mergedLength);
for (List ts : list) {
mergedList.addAll(ts);
}
return mergedList;
}