@Override
  public @NotNull DfType getInitialDfType(@NotNull DfaVariableValue thisValue,
                                          @Nullable PsiElement context) {
    DfType dfType = getDfType(thisValue.getQualifier());
    PsiModifierListOwner psi = ObjectUtils.tryCast(getPsiElement(), PsiModifierListOwner.class);
    if (psi == null) return dfType;
    if (dfType instanceof DfIntegralType) {
      return ((DfIntegralType)dfType).meetRange(JvmPsiRangeSetUtil.fromPsiElement(psi));
    }
    if (dfType instanceof DfReferenceType) {
      dfType = dfType.meet(Mutability.getMutability(psi).asDfType());
      dfType = dfType.meet(calcCanBeNull(thisValue, context).asDfType());
    }
    return dfType;
  }
@Override
  public @NotNull DfType getInitialDfType(@NotNull DfaVariableValue thisValue,
                                          @Nullable PsiElement context)