@Override public RpcResult<TransactionStatus> apply(final DOMRpcResult input) { if (isSuccess(input)) { return RpcResultBuilder.success(TransactionStatus.COMMITED).build(); } else { final RpcResultBuilder<TransactionStatus> failed = RpcResultBuilder.failed(); for (final RpcError rpcError : input.getErrors()) { failed.withError( rpcError.getErrorType(), rpcError.getTag(), rpcError.getMessage(), rpcError.getApplicationTag(), rpcError.getInfo(), rpcError.getCause()); } return failed.build(); } }