code: @Nullable
    @Override
    public String apply(@Nullable String key)
    {
      if (NullHandling.isNullOrEquivalent(key)) {
        return null;
      }
      return key.toLowerCase(locale);
    }
docs: @param key string input of extraction function
  
  @return new string with all of the characters in {@code key} as an lower case  or <tt>null</tt> if {@code key} is empty or null