Object[] (@NotNull PsiType propertyType, @NotNull Project project) { final PsiType resolvedType = JavaFxPsiUtil.getWritablePropertyType(propertyType, project); final List<LookupElement> objs = new ArrayList<>(); final Collection<PsiMember> readableProperties = JavaFxPsiUtil.getReadableProperties(myPsiClass).values(); for (PsiMember readableMember : readableProperties) { final PsiType readableType = JavaFxPsiUtil.getReadablePropertyType(readableMember); if (readableType == null) continue; if (TypeConversionUtil.isAssignable(propertyType, readableType) || resolvedType != null && TypeConversionUtil.isAssignable(resolvedType, readableType)) { final String propertyName = PropertyUtilBase.getPropertyName(readableMember); if (propertyName != null) { objs.add(LookupElementBuilder.create(readableMember, propertyName)); } } } return ArrayUtil.toObjectArray(objs); }