public SwitchingGraphic Clone() { var starting_vertex_c = new VertexPositionColor[StartingVertex.Length]; for (var i = 0; i < StartingVertex.Length; i++) { starting_vertex_c[i] = StartingVertex[i]; } var ending_vertex_c = new VertexPositionColor[EndingVertex.Length]; for (var i = 0; i < EndingVertex.Length; i++) { ending_vertex_c[i] = EndingVertex[i]; } return(new SwitchingGraphic(starting_vertex_c, ending_vertex_c) { color = color.Clone(true), Progress = Progress.Clone(true) }); }