public void WriteMetaData(MzTabMetaData metaData) { if (_currentState > MzTab.States.MetaData) { throw new ArgumentException("Unable to write Metadata, incorrect location. Only one Metadata section per file"); } _currentState |= MzTab.States.MetaData; foreach (KeyValuePair <string, string> kvp in metaData.GetKeyValuePairs()) { _writer.Write(MzTab.MetaDataLinePrefix); _writer.Write(MzTab.FieldSeparator); _writer.Write(kvp.Key); _writer.Write(MzTab.FieldSeparator); _writer.WriteLine(kvp.Value); } // Save meta data _metaData = metaData; }