docs: def find(self, searchText, layers,
               contains=True, searchFields="",
               sr="", layerDefs="",
               returnGeometry=True, maxAllowableOffset="",
               geometryPrecision="", dynamicLayers="",
               returnZ=False, returnM=False, gdbVersion=""):
          """ performs the map service find operation """
          url = self._url + "/find"
          #print url
          params = {
              "f" : "json",
              "searchText" : searchText,
              "contains" : self._convert_boolean(contains),
              "searchFields": searchFields,
              "sr" : sr,
              "layerDefs" : layerDefs,
              "returnGeometry" : self._convert_boolean(returnGeometry),
              "maxAllowableOffset" : maxAllowableOffset,
              "geometryPrecision" : geometryPrecision,
              "dynamicLayers" : dynamicLayers,
              "returnZ" : self._convert_boolean(returnZ),
              "returnM" : self._convert_boolean(returnM),
              "gdbVersion" : gdbVersion,
              "layers" : layers
          }
          res = self._get(url, params,
                             securityHandler=self._securityHandler,
                             proxy_url=self._proxy_url,
                             proxy_port=self._proxy_port)
          qResults = []
          for r in res['results']:
              qResults.append(Feature(r))
          return qResults