public class Outline { OutlineComponent[] components; Outline(OutlineComponent[] components){ this.components=components; } Outline(OutlineComponent component){ this.components=new OutlineComponent[1]; this.components[0]=component; } Outline append(Outline outline){ OutlineComponent[] newComponents=new OutlineComponent[components.length+outline.components.length]; System.arraycopy(components,0,newComponents,0,components.length); System.arraycopy(outline.components,0,newComponents,components.length,outline.components.length); return new Outline(newComponents); } Outline plus(Point p0){ OutlineComponent[] newComponents=new OutlineComponent[components.length]; for(int i=0;i