@Override
 public void toData(DataOutput out) throws IOException {
   super.toData(out);
   out.writeInt(this.prId);
   out.writeInt(this.processorId);
   DataSerializer.writeObject(this.profiles, out);
 }
 @Override
 public void fromData(DataInput in) throws IOException, ClassNotFoundException {
   super.fromData(in);
   this.prId = in.readInt();
   this.processorId = in.readInt();
   this.profiles = DataSerializer.readObject(in);
 }
 @Override
 public void fromData(DataInput din) throws IOException, ClassNotFoundException {
   super.fromData(din);
   relayRecipient = (DistributedMember) DataSerializer.readObject(din);
   processorId = din.readInt();
   processorType = din.readInt();
   allRegions = din.readBoolean();
   if (!allRegions) {
     regionPath = DataSerializer.readString(din);
   }
 }
 @Override
 public void toData(DataOutput dout) throws IOException {
   super.toData(dout);
   DataSerializer.writeObject(relayRecipient, dout);
   dout.writeInt(processorId);
   dout.writeInt(processorType);
   dout.writeBoolean(allRegions);
   if (!allRegions) {
     DataSerializer.writeString(regionPath, dout);
   }
 }
  /**
   * Fill out this instance of the message using the <code>DataInput</code> Required to be a {@link
   * com.gemstone.gemfire.DataSerializable}Note: must be symmetric with {@link
   * #toData(DataOutput)}in what it reads
   */
  @Override
  public void fromData(DataInput in) throws IOException, ClassNotFoundException {
    super.fromData(in);
    this.flags = in.readShort();
    setFlags(this.flags, in);
    this.regionPath = DataSerializer.readString(in);

    // extra field post 9.0
    if (InternalDataSerializer.getVersionForDataStream(in).compareTo(Version.GFE_90) >= 0) {
      this.isTransactionDistributed = in.readBoolean();
    }
  }
  /**
   * Send the contents of this instance to the DataOutput Required to be a {@link
   * com.gemstone.gemfire.DataSerializable}Note: must be symmetric with {@link
   * #fromData(DataInput)}in what it writes
   */
  @Override
  public void toData(DataOutput out) throws IOException {
    super.toData(out);
    short flags = computeCompressedShort();
    out.writeShort(flags);
    if (this.processorId != 0) {
      out.writeInt(this.processorId);
    }
    if (this.processorType != 0) {
      out.writeByte(this.processorType);
    }
    if (this.getTXUniqId() != TXManagerImpl.NOTX) {
      out.writeInt(this.getTXUniqId());
    }
    if (this.getTXMemberId() != null) {
      DataSerializer.writeObject(this.getTXMemberId(), out);
    }
    DataSerializer.writeString(this.regionPath, out);

    // extra field post 9.0
    if (InternalDataSerializer.getVersionForDataStream(out).compareTo(Version.GFE_90) >= 0) {
      out.writeBoolean(this.isTransactionDistributed);
    }
  }