create a cached value with the given provider and non-tracked return value , store it in the first argument 's user data . if it 's already stored , reuse it . concode_field_sep NotNullLazyKey<CachedValuesManager,Project> INSTANCE_KEY concode_elem_sep ConcurrentMap<String,Key<CachedValue>> globalKeyForProvider concode_elem_sep ConcurrentMap<String,Key<CachedValue>> keyForProvider concode_field_sep CachedValuesManager getManager concode_elem_sep ParameterizedCachedValue<T,P> createParameterizedCachedValue concode_elem_sep Key<CachedValue<T>> getKeyForClass concode_elem_sep Key<CachedValue<T>> getKeyForClass concode_elem_sep CachedValue<T> createCachedValue concode_elem_sep CachedValue<T> createCachedValue concode_elem_sep T getParameterizedCachedValue
T function ( @ NotNull D arg0 , @ NotNull CachedValueProvider < T > arg1 ) { return getCachedValue ( arg0 , this . < T > getKeyForClass ( arg1 . getClass ( ) ) , arg1 , false ) ; }