code: @Override
      @SuppressWarnings("squid:S3346")
      public ReconfigurationPlan buildReconfigurationPlan(Solution s, Model src) throws SchedulerException {
          ReconfigurationPlan plan = new DefaultReconfigurationPlan(src);
          for (NodeTransition action : nodeActions) {
              action.insertActions(s, plan);
          }
  
          for (VMTransition action : vmActions) {
              action.insertActions(s, plan);
          }
  
          assert plan.isApplyable() : "The following plan cannot be applied:\n" + plan;
          assert checkConsistency(s, plan);
          return plan;
      }
docs: Build a plan for a solution.
  @param s the solution
  @param src the source model
  @return the resulting plan
  @throws SchedulerException if a error occurred