private void splitTransaction( TransactionUIModel transaction, GoalTransactionUIModel goalTransaction) { try { TransactionUIModel parentTransaction = goalTransaction.getTransaction(); Double rest = new BigDecimal(transaction.getAmount()) .add(new BigDecimal(parentTransaction.getAmount()).negate()) .doubleValue(); saveGoalTransaction(goalTransaction); Transaction clone = transactionDao.queryForId(transaction.getId()).getClone(); clone.setAmount(rest); transactionDao.create(clone); transactionsUpdateListener.onTransactionAdded( ConvertUtil.convertToUIModel(clone), parentTransaction); } catch (SQLException e) { Log.e(TAG, "Error splitting transaction", e); } }