def EQUAL?(other)
      @it.equal?(other) && other.equal?(@it) && (@it.__id__.equal? other.__id__)
    end
def EQUAL?(other)
      @it.equal?(other) && other.equal?(@it) && (@it.__id__.equal? other.__id__)
    end
true if bidirectical passed #equal, and __id__ is same value