@Override
  public String toString() {
    StringBuilder builder = new StringBuilder();
    if (scopeName != null) {
      builder.append(scopeName);
    }

    TextMateScope parent = parentScope;
    while (parent != null) {
      CharSequence parentScopeName = parent.scopeName;
      if (parentScopeName != null) {
        if (!builder.isEmpty()) {
          builder.insert(0, " ");
        }
        builder.insert(0, parentScopeName);
      }
      parent = parent.parentScope;
    }
    return builder.toString().trim();
  }
@Override
  public String toString()