code: @Override
      public int executeBatch()
      {
          Map<String, List<Row>> batchData = new HashMap<String, List<Row>>();
          try
          {
              for (Node node : nodes)
              {
                  if (node.isDirty())
                  {
                      Row action = null;
                      node.handlePreEvent();
                      Object rowKey = node.getEntityId();
                      Object entity = node.getData();
                      EntityMetadata m = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, node.getDataClass());
                      String tableName = HBaseUtils.getHTableName(m.getSchema(), m.getTableName());
                      if (node.isInState(RemovedState.class))
                      {
                          action = handler.prepareDelete(rowKey);
                      }
                      else
                      {
                          HBaseRow hbaseRow = ((HBaseDataHandler) handler).createHbaseRow(m, entity, rowKey, null);
                          action = handler.preparePut(hbaseRow);
                      }
                      node.handlePostEvent();
                      if (!batchData.containsKey(tableName))
                      {
                          batchData.put(tableName, new ArrayList<Row>());
                      }
                      batchData.get(tableName).add(action);
                  }
              }
  
              if (!batchData.isEmpty())
              {
                  ((HBaseDataHandler) handler).batchProcess(batchData);
              }
              return batchData.size();
          }
          catch (IOException ioex)
          {
              log.error("Error while executing batch insert/update, Caused by: .", ioex);
              throw new KunderaException(ioex);
          }
  
      }
docs: /*
  (non-Javadoc)
  
  @see com.impetus.kundera.persistence.api.Batcher#executeBatch()