code: def wfind(self, tag_name, params=None, fn=None, case_sensitive=False):
          
          childs = self.childs
          if self._container:  # container object
              childs = map(
                  lambda x: x.childs,
                  filter(lambda x: x.childs, self.childs)
              )
              childs = sum(childs, [])  # flattern the list
  
          el = self.__class__()  # HTMLElement()
          el._container = True
          for child in childs:
              if child.isEndTag():
                  continue
  
              if child.isAlmostEqual(tag_name, params, fn, case_sensitive):
                  el.childs.append(child)
  
          return el
docs: This methods works same as :meth:`find`, but only in one level of the
          :attr:`childs`.
  
          This allows to chain :meth:`wfind` calls::
  
              >>> dom = dhtmlparser.parseString('''
              ... <root>
              ...     <some>
              ...         <something>
              ...             <xe id="wanted xe" />
              ...         </something>
              ...         <something>
              ...             asd
              ...         </something>
              ...         <xe id="another xe" />
              ...     </some>
              ...     <some>
              ...         else
              ...         <xe id="yet another xe" />
              ...     </some>
              ... </root>
              ... ''')
              >>> xe = dom.wfind("root").wfind("some").wfind("something").find("xe")
              >>> xe
              [<dhtmlparser.htmlelement.HTMLElement object at 0x8a979ac>]
              >>> str(xe[0])
              '<xe id="wanted xe" />'
  
          Args:
              tag_name (str): Name of the tag you are looking for. Set to "" if
                              you wish to use only `fn` parameter.
              params (dict, default None): Parameters which have to be present
                     in tag to be considered matching.
              fn (function, default None): Use this function to match tags.
                 Function expects one parameter which is HTMLElement instance.
              case_sensitive (bool, default False): Use case sensitive search.
  
          Returns:
              obj: Blank HTMLElement with all matches in :attr:`childs` property.
  
          Note:
              Returned element also have set :attr:`_container` property to True.