def new(self, collection, report=None, properties=None, *args, **kwargs):
        """Returns a fresh class instance for a new entity.

        ac = t1.new('atomic_creative') OR
        ac = t1.new('atomic_creatives') OR even
        ac = t1.new(terminalone.models.AtomicCreative)
        """
        if type(collection) == type and issubclass(collection, Entity):
            ret = collection
        elif '_acl' in collection:
            ret = ACL
        else:
            try:
                ret = SINGULAR[collection]
            except __HOLE__:
                ret = CLASSES[collection]

        if ret == Report:
            return ret(self.session,
                       report=report,
                       environment=self.environment,
                       api_base=self.api_base,
                       **kwargs)

        return ret(self.session,
                   environment=self.environment,
                   api_base=self.api_base,
                   properties=properties,
                   json=self.json,
                   *args, **kwargs)
dataset/ETHPy150Open MediaMath/t1-python/terminalone/service.py/T1.new