T (@Nullable VirtualFile file) { for (Pair<Object, T> p : ContainerUtil.reverse(myModel.data)) { if (keyMatches(p.first, file, false) && p.second != null) return p.second; } ProjectFileIndex index = ProjectFileIndex.getInstance(myProject); for (Mapping<T> prop : ContainerUtil.reverse(myDefaultProps)) { if (isProjectMapping(prop) && file != null && index.isInContent(file) || isGlobalMapping(prop)) { T t = myDefaultVals.get(prop.name); if (t != null) return t; } } return getDefaultNewMapping(file); }