@Override
    public boolean isMemberEnabled(GrMemberInfo member) {
      PsiClass currentSuperClass = getSuperClass();
      if(currentSuperClass == null) return true;
      if (myMemberInfoStorage.getDuplicatedMemberInfos(currentSuperClass).contains(member)) return false;
      if (myMemberInfoStorage.getExtending(currentSuperClass).contains(member.getMember())) return false;
      if (!currentSuperClass.isInterface()) return true;

      GrMember element = member.getMember();
      if (element instanceof PsiClass && ((PsiClass) element).isInterface()) return true;
      if (element instanceof PsiField) {
        return element.hasModifierProperty(PsiModifier.STATIC);
      }
      if (element instanceof PsiMethod) {
        if (currentSuperClass.isInterface()) {
          final PsiSubstitutor superSubstitutor = TypeConversionUtil.getSuperClassSubstitutor(currentSuperClass, myClass, PsiSubstitutor.EMPTY);
          final MethodSignature signature = ((PsiMethod)element).getSignature(superSubstitutor);
          final PsiMethod superClassMethod = MethodSignatureUtil.findMethodBySignature(currentSuperClass, signature, false);
          if (superClassMethod != null) return false;
        }
        return !element.hasModifierProperty(PsiModifier.STATIC);
      }
      return true;
    }
@Override
    public boolean isMemberEnabled(GrMemberInfo member)