public override bool Write(GH_IWriter writer) { staticData.PrepareWrite(activeUnit); bool result = base.Write(writer); staticData.RestoreWrite(activeUnit); if (activeUnit != null) { writer.CreateChunk("ActiveUnit").SetString("unitname", activeUnit.Name); } try { GH_IWriter val = writer.CreateChunk("EvalUnits"); val.SetInt32("count", evalUnits.Units.Count); for (int i = 0; i < evalUnits.Units.Count; i++) { EvaluationUnit evaluationUnit = evalUnits.Units[i]; GH_IWriter writer2 = val.CreateChunk("unit", i); evaluationUnit.Write(writer2); } return(result); } catch (Exception ex) { RhinoApp.WriteLine(ex.Message + "\n" + ex.StackTrace); throw ex; } }