@Nullable
  private static NullabilityProblem<?> getArrayInitializerProblem(@NotNull PsiArrayInitializerExpression initializer,
                                                                  @NotNull PsiExpression expression,
                                                                  @NotNull PsiExpression context) {
    PsiType type = initializer.getType();
    if (type instanceof PsiArrayType) {
      PsiType componentType = ((PsiArrayType)type).getComponentType();
      if (TypeConversionUtil.isPrimitiveAndNotNull(componentType)) {
        return createUnboxingProblem(context, expression);
      }
      Nullability nullability = DfaPsiUtil.getTypeNullability(componentType);
      if (nullability == Nullability.UNKNOWN) {
        if (initializer.getParent() instanceof PsiNewExpression) {
          PsiType expectedType = ExpectedTypeUtils.findExpectedType((PsiExpression)initializer.getParent(), false);
          if (expectedType instanceof PsiArrayType) {
            nullability = DfaPsiUtil.getTypeNullability(((PsiArrayType)expectedType).getComponentType());
          }
        }
      }
      if (nullability == Nullability.NOT_NULL) {
        return storingToNotNullArray.problem(context, expression);
      }
    }
    return null;
  }
@Nullable
  private static NullabilityProblem<?> getArrayInitializerProblem(@NotNull PsiArrayInitializerExpression initializer,
                                                                  @NotNull PsiExpression expression,
                                                                  @NotNull PsiExpression context)