code: def encode_data(self):
          
          assert self.get_empty() is False
          self._data_encoded = True
          if self._block_allowed:
              data = self._encode_transfer_block_data()
          else:
              data = self._encode_transfer_data()
          return data
docs: Encode this command into a byte array that can be sent
  
          The actual command this is encoded into depends on the data
          that was added.