@Override
  public void ExecuteCommand(
      ClientManager clientManager,
      com.alachisoft.tayzgrid.common.protobuf.CommandProtocol.Command command) {
    CommandInfo cmdInfo = new CommandInfo();

    try {
      cmdInfo = ParseCommand(command, clientManager).clone();
    } catch (RuntimeException exc) {
      _syncEventResult = getOperationResult().Failure;
      if (!super.immatureId.equals("-2")) {
        _serializedResponsePackets.add(
            ResponseHelper.SerializeExceptionResponse(exc, command.getRequestID()));
      }
      return;
    }

    byte[] data = null;

    try {
      ICommandExecuter tempVar = clientManager.getCmdExecuter();
      TayzGrid nCache = (TayzGrid) ((tempVar instanceof TayzGrid) ? tempVar : null);

      EventStatus eventStatus = nCache.GetEventsStatus();
      java.util.ArrayList<com.alachisoft.tayzgrid.persistence.Event> syncEventResult =
          nCache
              .getCache()
              .GetFilteredEvents(clientManager.getClientID(), cmdInfo.EventsList, eventStatus);
      SyncEventResponseBuilder.BuildResponse(
          syncEventResult,
          cmdInfo.RequestId,
          _serializedResponsePackets,
          clientManager.getClientID(),
          nCache.getCacheId());

    } catch (Exception exc) {
      _syncEventResult = getOperationResult().Failure;
      // PROTOBUF:RESPONSE
      _serializedResponsePackets.add(
          ResponseHelper.SerializeExceptionResponse(exc, command.getRequestID()));
    }
  }