### Question:
Scope extends MapWrapper<String, Object> { @SuppressWarnings("unchecked") public <S extends Settings> S getSettings(Class<S> settingsClass) { return (S) settingsByClass.getUnchecked(Preconditions.checkNotNull(settingsClass)); } Scope(Scope parent, Map<String, Object> values);  Scope(Scope parent); Scope getParent(); @SuppressWarnings("unchecked") S getClosest(Class<S> scopeClass); RootScope getRootScope(); FileScope getFileScope(); Object find(Node node, String key); @SuppressWarnings("unchecked") void addValue(String key, String name, Object value); String getName(Object value); Node getLocation(String key); void putLocation(String key, Node node); @SuppressWarnings("unchecked") S getSettings(Class<S> settingsClass); LoadingCache<Class<? extends Settings>, Settings> getSettingsByClass();  }### Answer:
@Test void getSettingsNull() { assertThatNullPointerException() .isThrownBy(() -> new Scope(null).getSettings(null)); }
@Test void getSettings() { Scope scope = new Scope(null); assertThat(scope.getSettings(TestSettings.class)) .isNotNull() .isEqualTo(scope.getSettings(TestSettings.class)); }