# File lib/net/ldap/filter.rb, line 309
        def execute &block
                case @op
                when :eq
                        if @right == "*"
                                yield :present, @left
                        elsif @right.index '*'
                                yield :substrings, @left, @right
                        else
                                yield :equalityMatch, @left, @right
                        end
                when :ge
                        yield :greaterOrEqual, @left, @right
                when :le
                        yield :lessOrEqual, @left, @right
                when :or, :and
                        yield @op, (@left.execute(&block)), (@right.execute(&block))
                when :not
                        yield @op, (@left.execute(&block))
                end || []
        end