void (@NotNull PsiElement position, @NotNull Consumer<? super LookupElement> result) { final PsiMethodCallExpression methodCall = PsiTreeUtil.getParentOfType(position, PsiMethodCallExpression.class); if (methodCall != null) { final String methodName = methodCall.getMethodExpression().getReferenceName(); if (methodName != null && FIELD_HANDLE_FACTORY_NAMES.contains(methodName)) { final PsiExpression[] arguments = methodCall.getArgumentList().getExpressions(); if (arguments.length > 2) { final String fieldName = computeConstantExpression(arguments[1], String.class); if (!StringUtil.isEmpty(fieldName)) { final ReflectiveClass ownerClass = getReflectiveClass(arguments[0]); if (ownerClass != null) { addFieldType(ownerClass, fieldName, position, result); } } } } } }