Here you can find the source of copy(java.util.List
public static <T> List<T> copy(java.util.List<T> list)
//package com.java2s; /*//from ww w. j a v a 2 s .co m * Copyright 2003-2010 Tufts University Licensed under the * Educational Community License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. You may * obtain a copy of the License at * * http://www.osedu.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS IS" * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing * permissions and limitations under the License. */ import java.util.ArrayList; import java.util.List; public class Main { /** for providing a copy of a list -- especially useful for providing a concurrency safe iteration of a list */ public static <T> List<T> copy(java.util.List<T> list) { if (list instanceof java.util.ArrayList) return (List<T>) ((java.util.ArrayList) list).clone(); else return new ArrayList(list); } }