docs: protected boolean validateRuntimeManage(
        SchedulerStateManagerAdaptor adaptor,
        String topologyName) throws TopologyRuntimeManagementException {
      // Check whether the topology has already been running
      Boolean isTopologyRunning = adaptor.isTopologyRunning(topologyName);
      boolean hasExecutionData = isTopologyRunning != null && isTopologyRunning.equals(Boolean.TRUE);
      if (!hasExecutionData) {
        if (command == Command.KILL) {
          LOG.warning(String.format("Topology '%s' is not found or not running", topologyName));
        } else {
          throw new TopologyRuntimeManagementException(
              String.format("Topology '%s' does not exist", topologyName));
        }
      }
  
      // Check whether cluster/role/environ matched if execution state data is available.
      ExecutionEnvironment.ExecutionState executionState = adaptor.getExecutionState(topologyName);
      if (executionState == null) {
        if (command == Command.KILL) {
          LOG.warning(String.format("Topology execution state for '%s' is not found", topologyName));
        } else {
          throw new TopologyRuntimeManagementException(
              String.format("Failed to get execution state for topology %s", topologyName));
        }
      } else {
        // Execution state is available, validate configurations.
        validateExecutionState(topologyName, executionState);
      }
      return hasExecutionData;
    }