docs: def dataCollections(self,
                          countryName=None,
                          addDerivativeVariables=None,
                          outFields=None,
                          suppressNullValues=False):
          """
          The GeoEnrichment service uses the concept of a data collection to
          define the data attributes returned by the enrichment service. Each
          data collection has a unique name that acts as an ID that is passed
          in the dataCollections parameter of the GeoEnrichment service.
          Some data collections (such as default) can be used in all
          supported countries. Other data collections may only be available
          in one or a collection of countries. Data collections may only be
          available in a subset of countries because of differences in the
          demographic data that is available for each country. A list of data
          collections for all available countries can be generated with the
          data collection discover method.
  
          For full help please go here:
          http://resources.arcgis.com/en/help/arcgis-rest-api/#/Data_collections/02r30000021t000000/
  
          Inputs:
             countryName - lets the user supply and optional name of a
               country in order to get information about the data collections
               in that given country.
             addDerivativeVariables - Optional parameter to specify a list of
               field names that include variables for the derivative
               statistics.
             outFields - Optional parameter to specify a list of output
               fields in the response.
             suppressNullValues - Optional parameter to return only values
               that are not NULL in the output response. Adding the optional
               suppressNullValues parameter to any data collections discovery
               method will reduce the size of the output that is returned
          """
          if addDerivativeVariables is None:
              addDerivativeVariables = ["*"]
          if outFields is None:
              outFields = ["*"]
          if countryName is None:
              url = self._base_url + self._url_data_collection
          else:
              url = self._base_url + self._url_data_collection + "/%s" % countryName
          params = {
              "f" : "token"
          }
          _addDerivVals = ["percent","index","average","all","*"]
          if addDerivativeVariables in _addDerivVals:
              params['addDerivativeVariables'] = addDerivativeVariables
          if not outFields is None:
              params['outFields'] = outFields
          if not suppressNullValues is None and \
             isinstance(suppressNullValues, bool):
              if suppressNullValues:
                  params['suppressNullValues'] = "true"
              else:
                  params['suppressNullValues'] = "false"
          return self._post(url=url,
                               param_dict=params,
                               securityHandler=self._securityHandler,
                               proxy_url=self._proxy_url,
                               proxy_port=self._proxy_port)