class TransactionApiImpl extends AbstractApi implements TransactionApi {

  @Override
  public TxHash redeploy(final ContractAddress existingContract,
      final ContractDefinition contractDefinition, final Fee fee) {
    try {
      return txRequester.request(getClient(), getSigner(), new TxRequestFunction() {

        @Override
        public TxHash apply(Signer signer, Long t) {
          return getClient().getContractOperation()
              .redeployTx(signer, existingContract, contractDefinition, t, fee);
        }
      });
    } catch (Exception e) {
      throw converter.convert(e);
    }
  }

}