code: public static <K, V, E extends SimpleExpression<? super V>> MapPath<K,V,E> mapPath(Class<? super K> keyType,
                                                                                         Class<? super V> valueType,
                                                                                         Class<E> queryType,
                                                                                         PathMetadata metadata) {
          return new MapPath<K,V,E>(keyType, valueType, queryType, metadata);
      }
docs: Create a new Path expression
  
  @param keyType key type
  @param valueType value type
  @param queryType value expression type
  @param metadata path metadata
  @param <K> key type
  @param <V> value type
  @param <E> value expression type
  @return path expression