public static DataSet <FeatureType, LabelType> Read <FeatureType2, LabelType2>(BinaryReader reader, IBinaryReader <FeatureType> reader_features, IBinaryReader <LabelType> reader_labels) { DataContext data_context = DataSet.DataContext.Read(reader); IList <FeatureType[]> feature_data = ToolsCollection.ConvertToArrayArray(reader_features.ReadArray2D()); IList <bool []> missing_data = ToolsCollection.ConvertToArrayArray(reader.ReadBooleanArray2D()); IList <LabelType[]> label_data = ToolsCollection.ConvertToArrayArray(reader_labels.ReadArray2D()); return(new DataSet <FeatureType, LabelType>(data_context, feature_data, missing_data, label_data)); }