code: public <V> Match<V> map(Function<T, V> mapper) {
      if (matchAny) {
        return any();
      } else if (value == null) {
        return negation ? ifNotNull() : ifNull();
      } else {
        return negation ? ifNotValue(mapper.apply(value)) : ifValue(mapper.apply(value));
      }
    }
docs: Maps this instance to a Match of another type.
  
  @param mapper transformation function
  @param <V>    new match type
  @return new instance