public void writeTo(final RLPOutput out) {
      out.startList();

      if (blockHash.isPresent()) {
        out.writeBytes(blockHash.get());
      } else {
        out.writeLongScalar(blockNumber.getAsLong());
      }
      out.writeIntScalar(maxHeaders);
      out.writeIntScalar(skip);
      out.writeIntScalar(reverse ? 1 : 0);

      out.endList();
    }
Write an RLP representation.

@param out The RLP output to write to
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/messages/GetBlockHeadersMessage.java