@Nullable
  private static List<Supplier<ReflectiveType>> getLazyMethodSignatureForReturnTypeAndArray(@NotNull PsiMethodCallExpression call) {
    final PsiExpression[] arguments = call.getArgumentList().getExpressions();
    if (arguments.length == 2) {
      final PsiExpression returnType = findDefinition(arguments[0]);
      final PsiExpression secondArgument = arguments[1];
      final List<PsiExpression> components = getVarargs(secondArgument);
      if (components != null) {
        final List<PsiExpression> signature = ContainerUtil.prepend(components, returnType);
        return ContainerUtil.map(signature, parameter -> (() -> getReflectiveType(parameter)));
      }
    }
    return null;
  }
@Nullable
  private static List<Supplier<ReflectiveType>> getLazyMethodSignatureForReturnTypeAndArray(@NotNull PsiMethodCallExpression call)