public void initialize(byte opCode, DiskRegionView dr, DiskEntry entry, ValueWrapper value,
        byte userBits, boolean notToUseUserBits) throws IOException {
      this.opCode = opCode;
      size = 1;// for the opcode
      saveUserBits(notToUseUserBits, userBits);

      this.value = value;
      if (this.userBits == 1 && this.value.getLength() == 0) {
        throw new IllegalStateException("userBits==1 and valueLength is 0");
      }

      boolean needsKey = false;
      if (this.opCode == OPLOG_MOD_ENTRY_1ID) {
        if (modNeedsKey(entry)) {
          needsKey = true;
          this.opCode = OPLOG_MOD_ENTRY_WITH_KEY_1ID;
        }
        needsValue = EntryBits.isNeedsValue(this.userBits);
        initVersionsBytes(entry);
      } else if (this.opCode == OPLOG_NEW_ENTRY_0ID) {
        needsKey = true;
        needsValue = EntryBits.isNeedsValue(this.userBits);
        initVersionsBytes(entry);
      } else if (this.opCode == OPLOG_DEL_ENTRY_1ID) {
        needsKey = false;
        needsValue = false;
      }

      if (needsKey) {
        Object key = entry.getKey();
        keyBytes = EntryEventImpl.serialize(key);
        size += (4 + keyBytes.length);
      } else {
        keyBytes = null;
      }
      if (this.opCode == OPLOG_DEL_ENTRY_1ID) {
        drIdLength = 0;
      } else {
        long drId = dr.getId();
        saveDrId(drId);
      }
      if (needsValue) {
        size += 4 + this.value.getLength();
      }
      deltaIdBytesLength = 0;
      if (this.opCode != OPLOG_NEW_ENTRY_0ID) {
        long keyId = entry.getDiskId().getKeyId();
        if (keyId == 0) {
          Assert.fail("Attempting to write an entry with keyId=0 to oplog. Entry key="
              + entry.getKey() + " diskId=" + entry.getDiskId() + " region=" + dr);
        }
        long delta = calcDelta(keyId, this.opCode);
        deltaIdBytesLength = bytesNeeded(delta);
        size += deltaIdBytesLength;
        this.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