'Get and possibly create the value.
:param identifier: Hash key for the value.
If the creation function is called, this identifier
will also be passed to the creation function.
:param \*args, \**kw: Additional arguments which will
also be passed to the creation function if it is
called.'

def get(self, identifier, *args, **kw):

    try:
        if (identifier in self._values):
            return self._values[identifier]
        else:
            return self._sync_get(identifier, *args, **kw)
    except KeyError:
        return self._sync_get(identifier, *args, **kw)
