public SuggestedNameInfo getSuggestedNames(
      PsiElement element, PsiElement nameSuggestionContext, Set<String> result) {
    assert result != null;
    if (!active || nameSuggestionContext == null) {
      return null;
    }
    String text = nameSuggestionContext.getText();
    if (nameSuggestionContext instanceof PsiNamedElement) {
      //noinspection ConstantConditions
      text = ((PsiNamedElement) element).getName();
    }
    if (text == null) {
      return null;
    }

    SpellCheckerManager manager = SpellCheckerManager.getInstance(element.getProject());

    Set<String> set = new TreeSet<String>();
    set.addAll(manager.getSuggestions(text));
    result.addAll(set);
    return null;
  }