@NotNull
  static PsiSubstitutor getSubstitutor(PsiElement member, @Nullable DfaVariableValue qualifier) {
    if (member instanceof PsiMember && qualifier != null) {
      PsiClass fieldClass = ((PsiMember)member).getContainingClass();
      PsiVarDescriptor qualifierDescriptor = ObjectUtils.tryCast(qualifier.getDescriptor(), PsiVarDescriptor.class);
      PsiClassType classType = qualifierDescriptor == null ? null :
                               ObjectUtils.tryCast(qualifierDescriptor.getType(qualifier.getQualifier()), PsiClassType.class);
      if (classType != null && InheritanceUtil.isInheritorOrSelf(classType.resolve(), fieldClass, true)) {
        return TypeConversionUtil.getSuperClassSubstitutor(fieldClass, classType);
      }
    }
    return PsiSubstitutor.EMPTY;
  }
@NotNull
  static PsiSubstitutor getSubstitutor(PsiElement member, @Nullable DfaVariableValue qualifier)