private final DefaultValueProvider defaultValueProvider;
@NotNull
private final Configuration configuration;
public ConfigurationAccess( @NotNull Configuration configuration, @NotNull Class<? extends T> type, @NotNull @NonNls String key, @NotNull final T defaultValue ) {
this( configuration, type, key, new DefaultValueProvider() {
@Override
@NotNull
public <T> T getDefaultValue( @NotNull @NonNls String key, @NotNull Class<T> type ) {
return type.cast( defaultValue );
}