def create(self, name, metadata=None, prefix=None, *args, **kwargs):
        """
        Creates a new container, and returns a Container object that represents
        that contianer. If a container by the same name already exists, no
        exception is raised; instead, a reference to that existing container is
        returned.
        """
        uri = "/%s" % name
        headers = {}
        if prefix is None:
            prefix = CONTAINER_META_PREFIX
        if metadata:
            metadata = _massage_metakeys(metadata, prefix)
            headers = metadata
        resp, resp_body = self.api.method_put(uri, headers=headers)
        if resp.status_code in (201, 202):
            hresp, hresp_body = self.api.method_head(uri)
            num_obj = int(hresp.headers.get("x-container-object-count", "0"))
            num_bytes = int(hresp.headers.get("x-container-bytes-used", "0"))
            cont_info = {"name": name, "object_count": num_obj,
                    "total_bytes": num_bytes}
            return Container(self, cont_info)
        elif resp.status_code == 400:
            raise exc.ClientException("Container creation failed: %s" %
                    resp_body)
dataset/ETHPy150Open rackspace/pyrax/pyrax/object_storage.py/ContainerManager.create/original