def METHOD_NAME(self, serializer):
    # Here we do an additional check if the owner has changed. If so, the reciever
    # of the project must have enough storage quota, otherwise the transfer is
    # not permitted.
    # TODO: this should be moved to some more reusable place. Maybe in Project.clean() ?
    # But then it would also be enforced by admin, which we don't want I guess...
    old_owner = serializer.instance.owner
    super().METHOD_NAME(serializer)
    new_owner = serializer.instance.owner
    # If owner has not changed, no additional check is made
    if old_owner == new_owner:
        return
    # Owner has changed, we must ensure he has enough quota for that
    # (in this transaction, the project is his already, so we just need to
    # check his quota)
    if new_owner.useraccount.storage_free_bytes < 0:
        # If not, we rollback the transaction
        # (don't give away numbers in message as it's potentially private)
        raise QuotaError("Project storage too large for recipient's quota.")