@Override
  public Address getSender() {
    if (sender == null) {
      Optional<Address> cachedSender = Optional.ofNullable(senderCache.getIfPresent(getHash()));
      sender = cachedSender.orElseGet(this::computeSender);
    }
    return sender;
  }
Returns the transaction sender.

@return the transaction sender
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java