Here you can find the source of createEmptyListOfType(List> original, boolean sameSize)
@SuppressWarnings("unchecked") private static <T> List<T> createEmptyListOfType(List<?> original, boolean sameSize)
//package com.java2s; //License from project: Apache License import java.util.*; public class Main { @SuppressWarnings("unchecked") private static <T> List<T> createEmptyListOfType(List<?> original, boolean sameSize) { if (original instanceof ArrayList) { return sameSize ? new ArrayList<T>(original.size()) : new ArrayList<T>(); }/*from ww w .j a v a 2 s . co m*/ try { return original.getClass().newInstance(); } catch (Exception e) { return sameSize ? new ArrayList<T>(original.size()) : new ArrayList<T>(); } } }