MapEntry implements Iterable<Entry<String, Object>> { @SuppressWarnings("unchecked") public <T> T get(String levelName) { return (T) this.values.get(levelName); } MapEntry();  MapEntry(ParameterEntryKey key);  MapEntry(Map<String, Object> initialValues); MapEntry merge(MapEntry other); ParameterEntryKey key(); boolean hasKey(); boolean has(String levelName); MapEntry put(String levelName, Object value); boolean isStar(String levelName); Object getRaw(String levelName); @SuppressWarnings("unchecked") T get(String levelName); @SuppressWarnings("unchecked") T getAs(String levelName, Class<T> clazz); String getString(String levelName); Long getLong(String levelName); BigDecimal getBigDecimal(String levelName); T getEnum(String levelName, Class<T> enumClass); @Override Iterator<Entry<String, Object>> iterator(); Map<String, Object> rawValues(); static final String KEY; }
@Test public void shouldKeepKeyInSpecialMapEntry() { MapEntry map = new MapEntry(new TestParameterEntryKey("key")); ParameterEntryKey key = map.get(MapEntry.KEY); assertThat(key.value()).isEqualTo("key"); }