public void initialize(long oplogKeyId, byte[] keyBytes, byte[] valueBytes, byte userBits,
        long drId, VersionTag tag, boolean notToUseUserBits) throws IOException {
      opCode = OPLOG_MOD_ENTRY_WITH_KEY_1ID;
      size = 1;// for the opcode
      saveUserBits(notToUseUserBits, userBits);

      this.keyBytes = keyBytes;
      value = new DiskEntry.Helper.CompactorValueWrapper(valueBytes, valueBytes.length);
      if (this.userBits == 1 && value.getLength() == 0) {
        throw new IllegalStateException("userBits==1 and valueLength is 0");
      }

      needsValue = EntryBits.isNeedsValue(this.userBits);
      size += (4 + this.keyBytes.length);
      saveDrId(drId);
      initVersionsBytes(tag);

      if (needsValue) {
        size += 4 + value.getLength();
      }
      deltaIdBytesLength = 0;
      {
        long delta = calcDelta(oplogKeyId, opCode);
        deltaIdBytesLength = bytesNeeded(delta);
        size += deltaIdBytesLength;
        opCode += (byte) ((deltaIdBytesLength & 0xFF) - 1);
        for (int i = deltaIdBytesLength - 1; i >= 0; i--) {
          deltaIdBytes[i] = (byte) (delta & 0xFF);
          delta >>= 8;
        }
      }

      size++; // for END_OF_RECORD_ID
    }
How many bytes it will be when serialized
geode-core/src/main/java/org/apache/geode/internal/cache/Oplog.java