Here you can find the source of remove(List extends T> list, List extends T> elements)
static <T> List<T> remove(List<? extends T> list, List<? extends T> elements)
//package com.java2s; //License from project: Apache License import java.util.ArrayList; import java.util.List; public class Main { static <T> List<T> remove(List<? extends T> list, List<? extends T> elements) { final ArrayList<T> result = new ArrayList<T>(list); result.removeAll(elements);//from www . j a v a 2 s. com return result; } }