public DataPlot(DataIntermediatePlot dip) { Name = dip.Name; Enums = new ParticleEnum[dip.Enums.Length]; dip.Enums.CopyTo(Enums, 0); Properties = new Property[dip.Properties.Length]; dip.Properties.CopyTo(Properties, 0); Particles = new FinalParticle[dip.Particles.Length]; for (int index = 0; index < dip.Particles.Length; index++) { var p = dip.Particles[index]; Particles[index] = new FinalParticle(p); } }