code: @Override
      public boolean apply(@Nullable Map<String, Collection<String>> input) {
          if (null == input) {
              throw new NullPointerException();
          }
          for (Map.Entry<String, Collection<String>> entry: input.entrySet()) {
              String key = entry.getKey();                
              Collection<String> value = entry.getValue();
              if (!value.contains(getValueFromKeyFunction.apply(key))) {
                  return false;
              }
          }
          return true;
  
      }
docs: For each key in the passed in map, this function returns true if
  
  <li> the value derived from the key using the function (passed in from the constructor) matches <b>any</b> of the value included for the same key in the map
  <li> the above holds true for <b>all</b> keys in the map