code: def list_objects(self, query=None, limit=-1, offset=-1):
          
          # Call super class method to get the object listing
          result = super(DefaultExperimentManager, self).list_objects(
              query=query,
              limit=limit,
              offset=offset
          )
          # Run aggregate count on predictions if collection was given
          if not self.coll_predictions is None:
              # Get model run counts for active experiments. Experiments without
              # runs will not be in the result
              counts = {}
              pipeline = [
                  { '$match': {'active': True}},
                  { '$group': { '_id': "$experiment", 'count': { '$sum': 1 } } }
              ]
              for doc in self.coll_predictions.aggregate(pipeline):
                  counts[doc['_id']] = doc['count']
              # Set run count property for all experiments in the result set
              for item in result.items:
                  if item.identifier in counts:
                      item.properties[PROPERTY_RUN_COUNT] = counts[item.identifier]
                  else:
                      item.properties[PROPERTY_RUN_COUNT] = 0
          return result
docs: List of all experiments in the database. Overrides the super class
          method to allow the returned object's property lists to be extended
          with the run count.
  
          Parameters
          ----------
          query : Dictionary
              Filter objects by property-value pairs defined by dictionary.
          limit : int
              Limit number of items in the result set
          offset : int
              Set offset in list (order as defined by object store)
  
          Returns
          -------
          ObjectListing