NonCodeMembersHolder (@NotNull List<? extends Descriptor> methods, @NotNull PsiFile file) { Map<List<? extends Descriptor>, NonCodeMembersHolder> map = CachedValuesManager.getCachedValue( file, () -> { final Map<List<? extends Descriptor>, NonCodeMembersHolder> map1 = CollectionFactory.createConcurrentSoftMap(); return CachedValueProvider.Result.create(map1, PsiModificationTracker.MODIFICATION_COUNT); }); NonCodeMembersHolder result = map.get(methods); if (result == null) { map.put(methods, result = new NonCodeMembersHolder(methods, file)); } return result; }