@VisibleForTesting
  String getReturnType(String className, Segment entry) {
    for (AutocompleteEntry entryObj : autocompleteEntryHolder.getEntriesForTypeName(className)) {
      if (entryObj.getEntryName().equals(entry.getValue())) {
        return parseReturnType(entryObj.getReturnType(), entry.isArrayElement());
      }
    }

    return "";
  }
  @VisibleForTesting
  SortedSet<AutocompleteEntry> getEntriesWithPrefix(@Nullable String clazz, final String prefix) {
    SortedSet<AutocompleteEntry> entries =
        autocompleteEntryHolder.getEntriesForTypeName(classOrArray(clazz));

    return ImmutableSortedSet.copyOf(
        Iterables.filter(
            entries,
            new Predicate<AutocompleteEntry>() {
              @Override
              public boolean apply(AutocompleteEntry entry) {
                return entry.getEntryName().toLowerCase().startsWith(prefix.toLowerCase());
              }
            }));
  }
 private SortedSet<AutocompleteEntry> getEntries(String clazz) {
   return ImmutableSortedSet.copyOf(
       autocompleteEntryHolder.getEntriesForTypeName(classOrArray(clazz)));
 }
 private boolean isClass(String clazz) {
   return clazz.endsWith(ARRAY_TYPE) || autocompleteEntryHolder.isTypeName(clazz);
 }
 private boolean isTopLevelClass(String clazz) {
   return autocompleteEntryHolder.isTopLevelTypeName(clazz);
 }
 public boolean isTypeName(String word) {
   return autocompleteEntryHolder.isTypeName(word);
 }