class Transactions {

	public Transactions copyWithReplacement(Transaction transaction) {
		boolean found = false;
		ImmutableList.Builder<Transaction> builder = ImmutableList.<Transaction> builder();
		for (Transaction t : transactions) {
			if (t.getId().equals(transaction.getId())) {
				found = true;
				builder.add(transaction);
			} else {
				builder.add(t);
			}
		}
		checkArgument(found, "Transaction not present");
		return new Transactions(builder.build());
	}

	public  Transactions();
	public  Transactions(List<Transaction> transactions);
	public  Transactions(Transaction... transactions);

}