private static String getActionAddress(
      final Action.Builder callingAction, final String recipient) {
    if (callingAction.getCallType() != null) {
      return callingAction.getCallType().equals("call")
          ? callingAction.getTo()
          : callingAction.getFrom();
    }
    return firstNonNull("", recipient, callingAction.getFrom(), callingAction.getTo());
  }
Generates a stream of {@link Trace} from the passed {@link TransactionTrace} and {@link Block}
data with additional Transaction Information added to FlatTrace

@param protocolSchedule the current {@link ProtocolSchedule} to use
@param transactionTrace the {@link TransactionTrace} to use
@param block the {@link Block} to use
@return a stream of generated traces {@link Trace}
ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/tracing/flat/FlatTraceGenerator.java