/**
  * Creates a new SubmissionData object based on a String returned by {@link #toString()}.
  *
  * @param s A String
  */
 public SubmissionData(String s) {
   String[] parts = s.split("&", 9);
   artist = decode(parts[0]);
   track = decode(parts[1]);
   startTime = parts[2].length() == 0 ? 0 : Long.valueOf(parts[2]);
   source = Source.valueOf(parts[3]);
   recommendationKey = parts[4].length() == 0 ? null : parts[4];
   rating = parts[5].length() == 0 ? null : Rating.valueOf(parts[5]);
   length = parts[6].length() == 0 ? -1 : Integer.valueOf(parts[6]);
   album = parts[7].length() == 0 ? null : decode(parts[7]);
   tracknumber = parts[8].length() == 0 ? -1 : Integer.valueOf(parts[8]);
 }