private static @NotNull IElementType dereferenceElementType(@NotNull IElementType type) {
    while ( type instanceof TokenWrapper)
      type = (( TokenWrapper ) type ).getDelegate();

    return type;
  }
private static @NotNull IElementType dereferenceElementType(@NotNull IElementType type)