code: def transfer(cls, inputs, recipients, asset_id, metadata=None):
          
          (inputs, outputs) = cls.validate_transfer(inputs, recipients, asset_id, metadata)
          return cls(cls.TRANSFER, {'id': asset_id}, inputs, outputs, metadata)
docs: A simple way to generate a `TRANSFER` transaction.
  
              Note:
                  Different cases for threshold conditions:
  
                  Combining multiple `inputs` with an arbitrary number of
                  `recipients` can yield interesting cases for the creation of
                  threshold conditions we'd like to support. The following
                  notation is proposed:
  
                  1. The index of a `recipient` corresponds to the index of
                     an input:
                     e.g. `transfer([input1], [a])`, means `input1` would now be
                          owned by user `a`.
  
                  2. `recipients` can (almost) get arbitrary deeply nested,
                     creating various complex threshold conditions:
                     e.g. `transfer([inp1, inp2], [[a, [b, c]], d])`, means
                          `a`'s signature would have a 50% weight on `inp1`
                          compared to `b` and `c` that share 25% of the leftover
                          weight respectively. `inp2` is owned completely by `d`.
  
              Args:
                  inputs (:obj:`list` of :class:`~bigchaindb.common.transaction.
                      Input`): Converted `Output`s, intended to
                      be used as inputs in the transfer to generate.
                  recipients (:obj:`list` of :obj:`tuple`): A list of
                      ([keys],amount) that represent the recipients of this
                      Transaction.
                  asset_id (str): The asset ID of the asset to be transferred in
                      this Transaction.
                  metadata (dict): Python dictionary to be stored along with the
                      Transaction.
  
              Returns:
                  :class:`~bigchaindb.common.transaction.Transaction`