/*
   * (non-Javadoc)
   * @see eu.stratosphere.core.io.IOReadableWritable#write(java.io.DataOutput)
   */
  @Override
  public void write(final DataOutput out) throws IOException {
    out.writeInt(this.mode.ordinal());

    final List<String> requiredPackages = this.query.getRequiredPackages();
    out.writeInt(requiredPackages.size());
    for (final String packageName : requiredPackages) out.writeUTF(packageName);

    final byte[] planBuffer = SopremoUtil.serializable(this.query);
    out.writeInt(planBuffer.length);
    out.write(planBuffer);
  }