def find(selector)
      if block_given?
        old_context = @current_context
        @current_context = select(selector)
        yield
        @current_context = old_context
      else
        Selection.new(self, selector)
      end
    end
def find(selector)
      if block_given?
        old_context = @current_context
        @current_context = select(selector)
        yield
        @current_context = old_context
      else
        Selection.new(self, selector)
      end
    end
Selects an element or elements for chained transformation.

 If given a block, the selection will be in effect during the block.

 If not given a block, a {Selection} will be returned on which
 transformation methods can be called. Any methods called on the
 Selection will be delegated back to the view with the selector inserted
 into the parameter list.

 @param [String] selector a CSS or XPath string describing the element to
   transform
 @return [Selection] a proxy object on which transformation methods can be
   called
 @example
   find('.post') do
     text('h1', post.title)
     text('p', post.body)
   end
   find('h1').text(post.title).add_class('active')