@Nullable
  private static ReflectiveSignature composeMethodSignatureFromReturnTypeAndArray(PsiExpression @NotNull [] arguments) {
    if (arguments.length == 2) {
      final PsiExpression returnType = findDefinition(arguments[0]);
      if (returnType != null) {
        final PsiExpression array = arguments[1];
        final List<PsiExpression> components = getVarargs(array);
        if (components != null) {
          final List<PsiExpression> signature = ContainerUtil.prepend(components, returnType);
          return ReflectiveSignature.create(ContainerUtil.map(signature, typeExpression -> getTypeText(typeExpression)));
        }
      }
    }
    return null;
  }
@Nullable
  private static ReflectiveSignature composeMethodSignatureFromReturnTypeAndArray(PsiExpression @NotNull [] arguments)