docs: def create(self, name, passphrase=None, wallet_data=None):
          """Create a new Wallet object and add it to this Wallets collection.
          This is only available in this library for Application wallets. Users
          must add additional wallets in their User Console
  
          Args:
            name (str): wallet name
            passphrase (str, optional): A passphrase with which to encrypt a user
              wallet. If not supplied, wallet_data is mandatory.
            wallet_data (dict): Output from wallets.generate.
              For User Wallets, only the primary tree is used.
              For Application Wallets, the primary and backup trees are used.
  
          Returns:
            A tuple of the (backup_private_seed, round.Wallet).
          """
          if not self.application:
              raise RoundError("User accounts are limited to one wallet. Make an "
                               "account or shoot us an email <dev@gem.co> if you "
                               "have a compelling use case for more.")
          if not passphrase and not wallet_data:
              raise ValueError("Usage: wallets.create(name, passphrase [, "
                               "wallet_data])")
          elif passphrase:
              wallet_data = generate(passphrase,
                                     trees=(['primary', 'backup'] if (
                                         self.application) else ['primary']))
  
          wallet = dict(
              primary_private_seed=wallet_data['primary']['encrypted_seed'],
              primary_public_seed=wallet_data['primary']['public_seed'],
              name=name)
          if self.application:
              wallet['backup_public_seed'] = wallet_data['backup']['public_seed']
  
          resource = self.resource.create(wallet)
          wallet = self.wrap(resource)
          return (wallet_data['backup']['private_seed'], self.add(wallet)) if (
              self.application) else self.add(wallet)