void (final PsiReferenceList referenceList, final Filter<PsiMember> filter, final List<MemberInfo> result, final Set<PsiClass> processed) { if (referenceList != null) { final PsiClassType[] extendsListTypes = referenceList.getReferencedTypes(); for (PsiClassType extendsListType : extendsListTypes) { final PsiClass aSuper = extendsListType.resolve(); if (aSuper != null) { if (aSuper.isInterface()) { if (filter.includeMember(aSuper)) { result.add(new MemberInfo(aSuper, true, referenceList)); } } else { extractSuperInterfaces(aSuper, filter, result, processed); } } } } }