// PROTOBUF
  private CommandInfo ParseCommand(Command command, ClientManager clientManager) {
    CommandInfo cmdInfo = new CommandInfo();
    java.util.HashMap eventList = new java.util.HashMap();
    SyncEventsCommandProtocol.SyncEventsCommand syncEventsCommand = command.getSyncEventsCommand();
    java.util.ArrayList<EventIdCommand> eventIds =
        (java.util.ArrayList) syncEventsCommand.getEventIdsList();
    com.alachisoft.tayzgrid.caching.EventId cacheEventId = null;

    for (EventIdCommand eventId : eventIds) {
      cacheEventId = new com.alachisoft.tayzgrid.caching.EventId();
      cacheEventId.setEventUniqueID(eventId.getEventUniqueId());
      cacheEventId.setEventCounter(eventId.getEventCounter());
      cacheEventId.setOperationCounter(eventId.getOperationCounter());
      cacheEventId.setEventType((EventType.forValue(eventId.getEventType())));
      cacheEventId.setQueryChangeType((QueryChangeType.forValue(eventId.getQueryChangeType())));
      cacheEventId.setQueryId(eventId.getQueryId());

      if (cacheEventId.getQueryId() != null) {
        cacheEventId.setQueryId(null);
      }

      eventList.put(cacheEventId, null);
    }
    cmdInfo.EventsList = eventList;
    cmdInfo.RequestId = Long.toString(syncEventsCommand.getRequestId());
    return cmdInfo;
  }
    public CommandInfo clone() {
      CommandInfo varCopy = new CommandInfo();

      varCopy.EventsList = this.EventsList;
      varCopy.CommandVersion = this.CommandVersion;
      varCopy.RequestId = this.RequestId;

      return varCopy;
    }