private static DataNode ReadFromBinary(BinaryReader br, List <string> header) { byte b = br.ReadByte(); switch (b) { case 0: return(DataNodeBinary.ReadEmptyNode(br, header)); case 1: return(DataNodeBinary.ReadContentNode(br, header)); case 2: return(DataNodeBinary.ReadSubNodes(br, true, header)); case 3: return(DataNodeBinary.ReadSubNodes(br, false, header)); case 5: throw new Exception("Unknown node type " + b); } throw new Exception("Unknown node type " + b); }