code: public void stepSucceeded(StepSucceededMessage stepSuccessMessage) {
          ExecutingStep s = executingStep.get();
          if ( ! s.getExecutionUUID().equals(stepSuccessMessage.getExecutionId())) {
              //This could happen if chorus interpreter timed out the previous step while waiting for the reply
              //Hence log to debug rather than error
              log.debug("Received a StepSucceededMessage for a step execution id " + stepSuccessMessage.getExecutionId() + " which did not match the currently executing step " + s.getExecutionUUID());
          } else {
              s.getCompletableFuture().complete(stepSuccessMessage);
          }
      }
docs: this is called by web socket thread not Chorus interpreter so log don't throw ChorusException, log errors instead