public static void ToBinaryStream(DataNode mainNode, BinaryWriter writer, DataNodeBinary.BinaryFormat format) { writer.Write("DEF2"); switch (format) { case DataNodeBinary.BinaryFormat.Simple: DataNodeBinary.WriteSimpleFormat(mainNode, writer); break; case DataNodeBinary.BinaryFormat.SimpleCompresssed: DataNodeBinary.WriteCompressedFormat(mainNode, writer); break; case DataNodeBinary.BinaryFormat.Encrypted: DataNodeBinary.WriteEncryptedFormat(mainNode, writer); break; default: throw new ArgumentOutOfRangeException("format"); } }