private static Transaction decodeTypedTransaction(
      final Bytes transactionBytes,
      final TransactionType transactionType,
      final EncodingContext context) {
    // Slice the transaction bytes to exclude the transaction type and prepare for decoding
    final RLPInput transactionInput = RLP.input(transactionBytes.slice(1));
    // Use the appropriate decoder for the transaction type to decode the remaining bytes
    return getDecoder(transactionType, context).decode(transactionInput);
  }
Decodes a typed transaction. The method first slices the transaction bytes to exclude the
transaction type, then uses the appropriate decoder for the transaction type to decode the
remaining bytes.

@param transactionBytes the transaction bytes
@param transactionType the type of the transaction
@param context the encoding context
@return the decoded transaction
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/encoding/TransactionDecoder.java