public void write(StructureWriter outs) throws IOException { outs.writeComment("num components"); outs.writeInt(components.length); for (int i = 0; i < components.length; i++) { outs.writeComment("component " + i); outs.writeDouble(weights[i]); outs.writeString(components[i].getClass().getName()); outs.blockBegin(); components[i].write(outs); outs.blockEnd(); } Attributes.write(attributes, outs); }