    # File lib/facets/more/rwdelegator.rb, line 9
      def initialize( write, &read )
        @read = read
        @write = write

        # ensure other classes can deduce equality.
        read_class = @read.call.object_class
        unless read_class.method_defined?(:eq_with_rwdelegator?)
          read_class.class_eval %{
            def eq_with_rwdelegator?( other )
              if RWDelegator === other
                other == self
              else
                eq_without_rwdelegator?(other)
              end
            end
            alias_method :eq_without_rwdelegator?, :==
            alias_method :==, :eq_with_rwdelegator?
          }
        end
      end