void (@NotNull CompletionParameters parameters, @NotNull ProcessingContext context, @NotNull CompletionResultSet resultSet) { PsiElement psiElement = parameters.getPosition().getParent(); if (psiElement instanceof LombokConfigProperty) { final String configPropertyKey = StringUtil.notNullize(LombokConfigPsiUtil.getKey((LombokConfigProperty)psiElement)); if (booleanOptions.contains(configPropertyKey)) { resultSet.addElement(LookupElementBuilder.create("true")); resultSet.addElement(LookupElementBuilder.create("false")); } else if (flagUsageOptions.contains(configPropertyKey)) { resultSet.addElement(LookupElementBuilder.create("WARNING")); resultSet.addElement(LookupElementBuilder.create("ERROR")); } else if (flagUsageAllowable.contains(configPropertyKey)) { resultSet.addElement(LookupElementBuilder.create("ALLOW")); resultSet.addElement(LookupElementBuilder.create("WARNING")); } else if (LOMBOK_EQUALS_AND_HASH_CODE_CALL_SUPER.equals(configPropertyKey) || LOMBOK_TOSTRING_CALL_SUPER.equals(configPropertyKey)) { resultSet.addElement(LookupElementBuilder.create("CALL")); resultSet.addElement(LookupElementBuilder.create("SKIP")); resultSet.addElement(LookupElementBuilder.create("WARN")); } else if (LOMBOK_ACCESSORS_JAVA_BEANS_SPEC_CAPITALIZATION.equals(configPropertyKey)) { resultSet.addElement(LookupElementBuilder.create("BASIC")); resultSet.addElement(LookupElementBuilder.create("BEANSPEC")); } else if (LOMBOK_ADD_NULL_ANNOTATIONS.equals(configPropertyKey)) { for (LombokNullAnnotationLibraryDefned library : LombokNullAnnotationLibraryDefned.values()) { resultSet.addElement(LookupElementBuilder.create(library.getKey())); } resultSet.addElement(LookupElementBuilder.create("CUSTOM:[TYPE_USE:]nonnull.annotation.type:nullable.annotation.type")); } } }