public void parse(String line) {
		init();

		// Check record type
		if( !line.startsWith("@" + recordTypeCode) ) throw new RuntimeException("Header line is not type '" + recordTypeCode + "': " + line);

		// Split fields
		String fields[] = line.split("\t");
		recordTypeCode = fields[0].substring(1);

		// Parse each field
		for( int i = 1; i < fields.length; i++ ) {
			String tag = fields[i].substring(0, 2);
			String value = fields[i].substring(3);
			parseField(tag, value);
		}
	}