/* Copyright 2006 The Apache Software Foundation or its licensors, as applicable
 * 
 * Licensed under the Apache 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.apache.org/licenses/LICENSE-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.
 */

package java.util.concurrent;

import java.io.Serializable;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.RandomAccess;

public class CopyOnWriteArrayList<E> implements List<E>, RandomAccess, Cloneable, Serializable {

    private static final long serialVersionUID = 8673264195747942595L;
    
    public CopyOnWriteArrayList() {
        super();
    }
    
    public CopyOnWriteArrayList(Collection<? extends E> c) {
        super();
    }
    
    public CopyOnWriteArrayList(E[] array) {
        super();
    }
    
    public boolean add(E e) {
        return false;
    }

    public void add(int index, E e) {
    }

    public boolean addAll(Collection<? extends E> c) {
        return false;
    }

    public boolean addAll(int index, Collection<? extends E> c) {
        return false;
    }
    
    public int addAllAbsent(Collection<? extends E> c) {
        return 0;
    }
    
    public boolean addIfAbsent(E e) {
        return false;
    }

    public void clear() {
    }
    
    public Object clone() {
        return null;
    }

    public boolean contains(Object o) {
        return false;
    }

    public boolean containsAll(Collection<?> c) {
        return false;
    }
    
    public boolean equals(Object o) {
        return false;
    }

    public E get(int index) {
        return null;
    }
    
    public int hashCode() {
        return 0;
    }

    public int indexOf(E e, int index) {
        return 0;
    }
    
    public int indexOf(Object o) {
        return 0;
    }

    public boolean isEmpty() {
        return false;
    }

    public Iterator<E> iterator() {
        return null;
    }

    public int lastIndexOf(E e, int index) {
        return 0;
    }
    
    public int lastIndexOf(Object o) {
        return 0;
    }

    public ListIterator<E> listIterator() {
        return null;
    }

    public ListIterator<E> listIterator(int index) {
        return null;
    }

    public E remove(int index) {
        return null;
    }

    public boolean remove(Object o) {
        return false;
    }

    public boolean removeAll(Collection<?> c) {
        return false;
    }

    public boolean retainAll(Collection<?> c) {
        return false;
    }

    public E set(int index, E e) {
        return null;
    }

    public int size() {
        return 0;
    }

    public List<E> subList(int fromIndex, int toIndex) {
        return null;
    }

    public Object[] toArray() {
        return null;
    }

    public <T> T[] toArray(T[] arg0) {
        return null;
    }

    public String toString() {
        return null;
    }
}

@@ -1,10 +1,13 @@
 /*
+%0A *
  Copyrig
@@ -147,19 +147,16 @@
 cense%22);
-%0A *
  you may
@@ -159,16 +159,19 @@
  may not
+%0A *
  use thi
@@ -215,19 +215,16 @@
 License.
-%0A *
  You may
@@ -240,16 +240,19 @@
  copy of
+%0A *
  the Lic
@@ -265,20 +265,16 @@
 t%0A * %0A *
-    
  http://
@@ -456,19 +456,16 @@
 SIS,
-%0A *
  WITHOUT
  WAR
@@ -460,16 +460,19 @@
  WITHOUT
+%0A *
  WARRANT
@@ -532,19 +532,16 @@
 ied.
-%0A *
  See the
  Lic
@@ -532,24 +532,27 @@
 ied. See the
+%0A *
  License for
@@ -599,19 +599,16 @@
 ions and
-%0A *
  limitat
@@ -613,24 +613,27 @@
 ations under
+%0A *
  the License
@@ -670,16 +670,113 @@
 rrent;%0A%0A
+import java.io.IOException;%0Aimport java.io.ObjectInputStream;%0Aimport java.io.ObjectOutputStream;%0A
 import j
@@ -1107,20 +1107,16 @@
 42595L;%0A
-    
 %0A    pub
@@ -1159,36 +1159,32 @@
  super();%0A    %7D%0A
-    
 %0A    public Copy
@@ -1244,36 +1244,32 @@
  super();%0A    %7D%0A
-    
 %0A    public Copy
@@ -1313,36 +1313,32 @@
  super();%0A    %7D%0A
-    
 %0A    public bool
@@ -1596,36 +1596,32 @@
 rn false;%0A    %7D%0A
-    
 %0A    public int 
@@ -1678,36 +1678,32 @@
 return 0;%0A    %7D%0A
-    
 %0A    public bool
@@ -1782,28 +1782,24 @@
 r() %7B%0A    %7D%0A
-    
 %0A    public 
@@ -1982,36 +1982,32 @@
 rn false;%0A    %7D%0A
-    
 %0A    public bool
@@ -2107,36 +2107,32 @@
 urn null;%0A    %7D%0A
-    
 %0A    public int 
@@ -2226,36 +2226,32 @@
 return 0;%0A    %7D%0A
-    
 %0A    public int 
@@ -2488,20 +2488,16 @@
 ;%0A    %7D%0A
-    
 %0A    pub
@@ -3369,11 +3369,193 @@
 l;%0A    %7D
+%0A%0A    private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException %7B%0A%0A    %7D%0A%0A    private void writeObject(ObjectOutputStream s) throws IOException %7B%0A%0A    %7D
 %0A%7D%0A

Add serialization method stubs.