List<Supplier<ReflectiveType>> (@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; }