@NotNull public <T extends PsiPolyVariantReference> ResolveResult[] resolveWithCaching( @NotNull T ref, @NotNull PolyVariantResolver<T> resolver, boolean needToPreventRecursion, boolean incompleteCode) { return resolveWithCaching( ref, resolver, needToPreventRecursion, incompleteCode, ref.getElement().getContainingFile()); }