public boolean execute(PsiElement element, ResolveState resolveState) {
if (element instanceof PsiNamedElement && !myProcessedElements.contains(element)) {
if (!kindMatches((PsiNamedElement) element)) return true;
PsiNamedElement namedElement = (PsiNamedElement) element;
boolean isAccessible = isAccessible(namedElement);
myCandidates.add(new ClojureResolveResultImpl(namedElement, isAccessible));
myProcessedElements.add(namedElement);
return !ListDeclarations.isLocal(element);
//todo specify as it's possible!
}