public void fromData(DataInput in, boolean hasShadowKey)
        throws IOException, ClassNotFoundException {
      regionPath = DataSerializer.readString(in);
      parentRegionPath = DataSerializer.readString(in);

      int size = in.readInt();
      if (size > 0) {
        opKeys = new ArrayList<>(size);
        opEntries = new ArrayList<>(size);
        final boolean largeModCount = in.readBoolean();
        memberId = DataSerializer.readObject(in);
        for (int i = 0; i < size; i++) {
          FarSideEntryOp entryOp = new FarSideEntryOp();
          // shadowkey is not being sent to clients
          entryOp.fromData(in, largeModCount, hasShadowKey);
          if (entryOp.versionTag != null && memberId != null) {
            entryOp.versionTag.setMemberID(memberId);
          }
          msg.addFarSideEntryOp(entryOp);
          opKeys.add(entryOp.key);
          opEntries.add(entryOp);
        }
      }
    }
Apply a single tx entry op on the far side
geode-core/src/main/java/org/apache/geode/internal/cache/TXCommitMessage.java