@Override public void execute(DataContainer dataContainer) { Data currentData = dataContainer.getData(); TransactionManager transactionManager = dataContainer.getTransactionManager(); // get value count Integer currentCount = currentData.getValueCount(value); if (currentCount == null) { currentCount = transactionManager.getOccurrencesForValue(value); // cache count value in current transaction currentData.setValueCount(value, currentCount); } System.out.println(currentCount); }