code: @Override
      public Object generate(TableGeneratorDiscriptor discriptor, ClientBase client, String dataType)
      {
          try
          {
              HTableInterface hTable = ((HBaseDataHandler) ((HBaseClient) client).handler).gethTable(discriptor
                      .getSchema());
              Long latestCount = hTable.incrementColumnValue(discriptor.getPkColumnValue().getBytes(), discriptor
                      .getTable().getBytes(), discriptor.getValueColumnName().getBytes(), 1);
              if (latestCount == 1)
              {
                  return (long) discriptor.getInitialValue();
              }
              else if (discriptor.getAllocationSize() == 1)
              {
                  return latestCount + discriptor.getInitialValue();
              }
              else
              {
                  return (latestCount - 1) * discriptor.getAllocationSize() + discriptor.getInitialValue();
              }
          }
          catch (IOException ioex)
          {
              log.error("Error while generating id for entity, Caused by: .", ioex);
              throw new KunderaException(ioex);
          }
      }
docs: /*
  (non-Javadoc)
  
  @see
  com.impetus.kundera.generator.TableGenerator#generate(com.impetus.kundera
  .metadata.model.TableGeneratorDiscriptor,
  com.impetus.kundera.client.ClientBase, java.lang.Object)