code: public List<CompletionItem> resolve(String filter, int startOffset, int caretOffset) {
      final Set<ElementHandle<TypeElement>> result = classpath.getClassIndex().getDeclaredTypes("",
              ClassIndex.NameKind.PREFIX, EnumSet.of(ClassIndex.SearchScope.SOURCE));
      List<CompletionItem> ret = new ArrayList<>();
  
      for (ElementHandle<TypeElement> te : result) {
        if (te.getKind().isClass()) {
          String binaryName = te.getBinaryName();
          if (!StringUtils.equals(binaryName, "") && StringUtils.startsWith(binaryName, filter)) {
            ret.add(new BasicCompletionItem(te.getBinaryName(), false, startOffset, caretOffset));
          }
        }
      }
      return ret;
    }
docs: returns a list with all classes matchting the given filter