public static @NotNull DfType getArrayComponentType(@NotNull DfaValue array) {
    DfType componentType = TypeConstraint.fromDfType(array.getDfType()).getArrayComponentType();
    if (componentType instanceof DfReferenceType && 
        array instanceof DfaVariableValue var && var.getDescriptor() instanceof PsiVarDescriptor varDescriptor &&
        varDescriptor.getType(var.getQualifier()) instanceof PsiArrayType arrayType) {
      return componentType.meet(DfaNullability.fromNullability(DfaPsiUtil.getTypeNullability(arrayType.getComponentType())).asDfType());
    }
    return componentType;
  }
public static @NotNull DfType getArrayComponentType(@NotNull DfaValue array)