docs: @Override
      public void onReceive(Object message) throws Exception {
          try {
              if (message instanceof OperationWorkerMsgType) {
                  switch ((OperationWorkerMsgType) message) {
  
                  case PROCESS_REQUEST:
                      processMainRequest();
                      break;
                  case POLL_PROGRESS:
                      pollProgress();
                      break;
                  case OPERATION_TIMEOUT:
                      operationTimeout();
                      break;
                  case CANCEL:
                      // use the same function
                      cancel();
                      break;
                  }// end switch
              } else if (message instanceof ResponseOnSingeRequest) {
                  final ResponseOnSingeRequest myResponse = (ResponseOnSingeRequest) message;
                  handleHttpWorkerResponse(myResponse);
              } else {
                  unhandled(message);
                  throw new ActorMessageTypeInvalidException(
                          "invalid message type to OperationWorker");
              }
          } catch (Exception e) {
              replyErrors(e.toString(), PcStringUtils.printStackTrace(e),
                      PcConstants.NA, PcConstants.NA_INT);
          }
      }