public static void WriteDataToBinary(DataNode node, BinaryWriter bw, Dictionary <string, int> header) { if (node == null) { throw new ArgumentNullException(); } if (string.IsNullOrEmpty(node.Content)) { if (node.Nodes == null || node.Nodes.Count == 0) { DataNodeBinary.WriteEmptyNode(node, bw, header); } else { DataNodeBinary.WriteSubNodes(node, bw, header); } } else { DataNodeBinary.WriteContentNode(node, bw, header); } }