code: public static Optional<Scheme> tryParse(@Nullable String scheme) {
          if (scheme == null) {
              return Optional.empty();
          }
  
          return Optional.ofNullable(SCHEMES.get(Ascii.toLowerCase(scheme)));
      }
docs: Parses the specified {@link String} into a {@link Scheme}. This method will return the same
  {@link Scheme} instance for equal values of {@code scheme}.
  
  @return {@link Optional#empty()} if the specified {@link String} could not be parsed or
  there is no such {@link Scheme} available