@Override
 public void write(LineWriter textWriter) {
   super.write(textWriter);
   textWriter.writeLine(1); // version
   textWriter.writeLine(isRoot);
   if (parentIds != null) {
     textWriter.writeLine(parentIds.length);
     for (int parentId : parentIds) textWriter.writeLine(parentId);
   } else {
     textWriter.writeLine(0);
   }
   if (childIds != null) {
     textWriter.writeLine(childIds.length);
     for (int childId : childIds) textWriter.writeLine(childId);
   } else {
     textWriter.writeLine(0);
   }
 }
  @Override
  public void write(LineWriter textWriter) {
    textWriter.writeLine(2); // type
    super.write(textWriter);
    textWriter.writeLine(2); // version

    textWriter.writeLine(artistIds.size());
    for (Integer id : artistIds.keySet()) textWriter.writeLine(id);
    textWriter.writeLine(labelIds.size());
    for (Integer id : labelIds.keySet()) textWriter.writeLine(id);
    textWriter.writeLine(releaseIds.size());
    for (Integer id : releaseIds.keySet()) textWriter.writeLine(id);
    textWriter.writeLine(songIds.size());
    for (Integer id : songIds.keySet()) textWriter.writeLine(id);
    textWriter.writeLine(excludeArtistIds.size());
    for (Integer id : excludeArtistIds.keySet()) textWriter.writeLine(id);
    textWriter.writeLine(excludeLabelIds.size());
    for (Integer id : excludeLabelIds.keySet()) textWriter.writeLine(id);
    textWriter.writeLine(excludeReleaseIds.size());
    for (Integer id : excludeReleaseIds.keySet()) textWriter.writeLine(id);
    textWriter.writeLine(excludeSongIds.size());
    for (Integer id : excludeSongIds.keySet()) textWriter.writeLine(id);
    if (artistSearchParameters != null) {
      textWriter.writeLine(artistSearchParameters.length);
      for (ArtistSearchParameters params : artistSearchParameters) params.write(textWriter);
    } else {
      textWriter.writeLine(0);
    }
    if (labelSearchParameters != null) {
      textWriter.writeLine(labelSearchParameters.length);
      for (LabelSearchParameters params : labelSearchParameters) params.write(textWriter);
    } else {
      textWriter.writeLine(0);
    }
    if (releaseSearchParameters != null) {
      textWriter.writeLine(releaseSearchParameters.length);
      for (ReleaseSearchParameters params : releaseSearchParameters) params.write(textWriter);
    } else {
      textWriter.writeLine(0);
    }
    if (songSearchParameters != null) {
      textWriter.writeLine(songSearchParameters.length);
      for (SongSearchParameters params : songSearchParameters) params.write(textWriter);
    } else {
      textWriter.writeLine(0);
    }
  }
 public void write(LineWriter writer) {
   super.write(writer);
   writer.writeLine("1"); // version
   writer.writeLine(thumbnailUrl);
   writer.writeLine(imageFilename);
 }
 public void write(LineWriter writer) {
   super.write(writer);
   writer.writeLine(1); // version
 }