public void executeTransactionOperation(
     TransactionContext txnContext, FileResource.CounterOperation operation) throws ACIDException {
   // lockManager.lock(txnContext, resourceId, 0);
   ILogManager logManager = transactionProvider.getLogManager();
   int currentValue = ((FileResource) resource).getMemoryCounter();
   int finalValue;
   switch (operation) {
     case INCREMENT:
       finalValue = currentValue + 1;
       int logRecordLength =
           ((FileLogger) logger).generateLogRecordContent(currentValue, finalValue);
       logManager.log(
           LogType.UPDATE, txnContext, 1, -1, 1, ResourceType.LSM_BTREE, 0, null, logger, memLSN);
       ((FileResource) resource).increment();
       break;
     case DECREMENT:
       finalValue = currentValue - 1;
       logRecordLength = ((FileLogger) logger).generateLogRecordContent(currentValue, finalValue);
       logManager.log(
           LogType.UPDATE, txnContext, 1, -1, 1, ResourceType.LSM_BTREE, 0, null, logger, memLSN);
       ((FileResource) resource).decrement();
       break;
   }
 }