@Override
        public Number parseLiteral(
            final Value<?> input,
            final CoercedVariables variables,
            final GraphQLContext graphQLContext,
            final Locale locale)
            throws CoercingParseLiteralException {
          try {
            if (input instanceof IntValue intValue) {
              return intValue.getValue().longValue();
            } else if (input instanceof StringValue stringValue) {
              final String value = stringValue.getValue().toLowerCase(Locale.ROOT);
              if (value.startsWith("0x")) {
                return Bytes.fromHexStringLenient(value).toLong();
              } else {
                return Long.parseLong(value);
              }
            }
          } catch (final NumberFormatException e) {
            // fall through
          }
          throw new CoercingParseLiteralException("Value is not any Long : '" + input + "'");
        }
The Scalars class provides methods for creating GraphQLScalarType objects. These objects
represent the scalar types used in GraphQL, such as Address, BigInt, Bytes, Bytes32, and Long.
Each method in this class returns a GraphQLScalarType object that has been configured with a
specific Coercing implementation. The Coercing implementation defines how that type is
serialized, deserialized and validated.
ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/internal/Scalars.java