docs: @Override
      public int compareTo(AstNode other) {
          if (this.equals(other)) return 0;
          int abs1 = this.getAbsolutePosition();
          int abs2 = other.getAbsolutePosition();
          if (abs1 < abs2) return -1;
          if (abs2 < abs1) return 1;
          int len1 = this.getLength();
          int len2 = other.getLength();
          if (len1 < len2) return -1;
          if (len2 < len1) return 1;
          return this.hashCode() - other.hashCode();
      }