CachedValue<TypeDescriptor> (final XmlTag tag, final Pair<QNameKey, XmlTag> pair) { final CachedValue<TypeDescriptor> value = CachedValuesManager.getManager(tag.getProject()).createCachedValue(() -> { final SimpleTypeDescriptor simpleTypeDescriptor = new SimpleTypeDescriptor(tag); return new CachedValueProvider.Result<>(simpleTypeDescriptor, tag); }, false); myTypesMap.put(pair, value); return value; }