@Override public Sketch clone() { Sketch newSketch = new Sketch(); for (int i = 0; i < this.noOfStrokes + 1; i++) { newSketch.points.add(new ArrayList<SketchPoint>()); for (int j = 0; j < this.points.get(i).size(); j++) { newSketch.points.get(i).add(this.points.get(i).get(j)); } } newSketch.noOfStrokes = this.noOfStrokes; return newSketch; }