code: private Set<String> resolveClass(String variableName, String text, Document document) {
      Set<String> items = new LinkedHashSet<>();
      FileObject fo = getFileObject(document);
      ClassPath sourcePath = ClassPath.getClassPath(fo, ClassPath.SOURCE);
      ClassPath compilePath = ClassPath.getClassPath(fo, ClassPath.COMPILE);
      ClassPath bootPath = ClassPath.getClassPath(fo, ClassPath.BOOT);
      if (sourcePath == null) {
        return items;
      }
      ClassPath cp = ClassPathSupport.createProxyClassPath(sourcePath, compilePath, bootPath);
      MemberLookupResolver resolver = new MemberLookupResolver(text, cp);
      Set<MemberLookupResult> results = resolver.performMemberLookup(StringUtils.defaultString(StringUtils.substringBeforeLast(variableName, "."), variableName));
      for (MemberLookupResult result : results) {
        Matcher m = GETTER_PATTERN.matcher(result.getMethodName());
        if (m.matches() && m.groupCount() >= 2) {
          items.add(result.getVariableName() + "." + WordUtils.uncapitalize(m.group(2)));
        }
        else {
          items.add(result.getVariableName() + "." + WordUtils.uncapitalize(result.getMethodName()));
        }
      }
      return items;
    }
docs: This method tries to find the class which is defined for the given filter and returns a set with all methods and fields of the class
  
  @param variableName
  @param text
  @param document
  @return Set of methods and fields, never null