code: public static Track3 from(final String rawTrackData)
    {
      final Matcher matcher = track3Pattern.matcher(trimToEmpty(rawTrackData));
  
      final String rawTrack3Data;
      final String discretionaryData;
      if (matcher.matches())
      {
        rawTrack3Data = getGroup(matcher, 1);
        discretionaryData = getGroup(matcher, 2);
      }
      else
      {
        rawTrack3Data = null;
        discretionaryData = "";
      }
      return new Track3(rawTrack3Data, discretionaryData);
    }
docs: Parses magnetic track 3 data into a Track3 object.
  
  @param rawTrackData
  Raw track data as a string. Can include newlines, and other
  tracks as well.
  @return A Track3instance, corresponding to the parsed data.