public static <X> void save(final Collection<? extends X> x, final DataExternalizer<X> e, final DataOutput out) {
    try {
      DataInputOutputUtil.writeINT(out, x.size());

      for (X y : x) {
        e.save(out, y);
      }
    }
    catch (IOException c) {
      throw new BuildDataCorruptedException(c);
    }
  }
public static <X> void save(final Collection<? extends X> x, final DataExternalizer<X> e, final DataOutput out)