### Question:
MapPath extends MapExpressionBase<K, V, E> implements Path<Map<K, V>> { public Class<V> getValueType() { return valueType; } protected  MapPath(Class<? super K> keyType, Class<? super V> valueType, Class<E> queryType, String variable); protected  MapPath(Class<? super K> keyType, Class<? super V> valueType, Class<E> queryType, Path<?> parent, String property); @SuppressWarnings("unchecked") protected  MapPath(Class<? super K> keyType, Class<? super V> valueType, Class<E> queryType, PathMetadata metadata); @Override final R accept(Visitor<R,C> v, C context); @Override E get(Expression<K> key); @Override E get(K key); Class<K> getKeyType(); @Override PathMetadata getMetadata(); @Override Path<?> getRoot(); Class<V> getValueType(); @Override AnnotatedElement getAnnotatedElement(); @Override Class<?> getParameter(int index);  }### Answer:
@Test public void getValueType() { assertEquals(String.class, mapPath.getValueType()); }