@Override
 public void writeTo(StreamOutput out) throws IOException {
   super.writeTo(out);
   taskId.writeTo(out);
   parentTaskId.writeTo(out);
   out.writeStringArrayNullable(nodesIds);
   out.writeStringArrayNullable(actions);
   out.writeOptionalStreamable(timeout);
 }
 public static void writeOriginalIndices(OriginalIndices originalIndices, StreamOutput out)
     throws IOException {
   if (out.getVersion().onOrAfter(Version.V_1_4_0_Beta1)) {
     out.writeStringArrayNullable(originalIndices.indices);
     originalIndices.indicesOptions.writeIndicesOptions(out);
   }
 }
 @Override
 public void writeTo(StreamOutput out) throws IOException {
   super.writeTo(out);
   out.writeByte(replicationType.id());
   out.writeByte(consistencyLevel.id());
   timeout.writeTo(out);
   out.writeStringArrayNullable(indices);
   indicesOptions.writeIndicesOptions(out);
 }
 public static void writeOptionalOriginalIndices(OriginalIndices originalIndices, StreamOutput out)
     throws IOException {
   if (out.getVersion().onOrAfter(Version.V_1_4_0_Beta1)) {
     boolean empty = originalIndices == EMPTY;
     out.writeBoolean(empty);
     if (!empty) {
       out.writeStringArrayNullable(originalIndices.indices);
       originalIndices.indicesOptions.writeIndicesOptions(out);
     }
   }
 }
 @Override
 public void writeTo(StreamOutput out) throws IOException {
   super.writeTo(out);
   out.writeStringArrayNullable(indices);
   writeSettingsToStream(settings, out);
 }