@NotNull
  public MatchingHandler getHandler(@NotNull PsiElement node) {
    if (node == last) {
      return lastHandler;
    }
    MatchingHandler handler = handlers.get(node);

    if (handler == null) {
      handler = new SimpleHandler();
      setHandler(node, handler);
    }

    last = node;
    lastHandler = handler;

    return handler;
  }
@NotNull
  public MatchingHandler getHandler(@NotNull PsiElement node)