@Override
    public boolean equals(Object obj) {
      if (this == obj) return true;
      if (!super.equals(obj)) return false;
      if (obj instanceof SimpleTf) {
            SimpleTf otherStf = (SimpleTf) obj;
            if (this.not == otherStf.not
                    && this.isEpsilon == otherStf.isEpsilon
                    && this.getName().equals(otherStf.getName())
                    && this.acceptsAll() == otherStf.acceptsAll()
                    && this.acceptsNone() == otherStf.acceptsNone())
                return true;
        }
        return false;
    }