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);
  }
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 ) ; }
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.