'Initializes an instance for a given resource.
TrackedResource are directly mapped to data model classes.
Resource usage is tracked in the database, and the model class to
which this resource refers is monitored to ensure always "fresh"
usage data are employed when performing quota checks.
This class operates under the assumption that the model class
describing the resource has a tenant identifier attribute.
:param name: The name of the resource, i.e., "networks".
:param model_class: The sqlalchemy model class of the resource for
which this instance is being created
:param flag: The name of the flag or configuration option
which specifies the default value of the quota
for this resource.
:param plural_name: Plural form of the resource name. If not
specified, it is generated automatically by
appending an \'s\' to the resource name, unless
it ends with a \'y\'. In that case the last
letter is removed, and \'ies\' is appended.
Dashes are always converted to underscores.'

def __init__(self, name, model_class, flag, plural_name=None):

    super(TrackedResource, self).__init__(name, flag=flag, plural_name=plural_name)
    self._model_class = model_class
    self._dirty_tenants = set()
    self._out_of_sync_tenants = set()
