Creates the resource. This will trigger an api POST request.
        :param parent ResourceBase: the parent of the resource - used for nesting the request url, optional
        :param **relationships: any number of lists as keyword arguments to be submitted as relationships
            for the request, e.g. relationship_name=[resource1, resource2]
        :raises ResourceError: if the resource has an id (already exists)
        :returns: the resource itself

def create(self, parent=None, **relationships):
        """
        Creates the resource. This will trigger an api POST request.
        :param parent ResourceBase: the parent of the resource - used for nesting the request url, optional
        :param **relationships: any number of lists as keyword arguments to be submitted as relationships
            for the request, e.g. relationship_name=[resource1, resource2]
        :raises ResourceError: if the resource has an id (already exists)
        :returns: the resource itself
        """
        if self.id:
            raise self.ResourceError('cannot create a resource with an existing ID')
        data = self.__class__._process_request(
            connection.post,
            parent=parent,
            payload=self.payload(),
            relationships=self._relationships_payload(relationships)
        )
        return self._reload(data)