code: def search(self, searchTerm):
  		
  		if type(searchTerm)==type(''):
  			searchTerm=SearchTerm(searchTerm)
  
  		if searchTerm not in self.featpaths:
  			matches = None
  			if searchTerm.type != None and searchTerm.type != self.classname():
  				matches = self._searchInChildren(searchTerm)
  			elif searchTerm.isAtomic():
  				matches = self._searchSingleTerm(searchTerm)
  			else:
  				matches = self._searchMultipleTerms(searchTerm)
  				if matches == True:
  					matches = [self]
  				if matches == False:
  					matches = []
  			self.featpaths[searchTerm] = matches
  
  		return self.featpaths[searchTerm]
docs: Returns objects matching the query.