/** Processes current desires and breaks them down into subgoals using the censor component. */
  @Override
  protected Boolean processImpl(PlanParameter pp) {
    LOG.info("Run Default-Subgoal-Generation");
    Agent ag = pp.getActualPlan().getAgent();
    Desires des = ag.getComponent(Desires.class);

    boolean reval = processPersuadeOtherAgentsDesires(pp, ag);

    if (des != null) {
      Set<Desire> currentDesires;
      currentDesires = des.getDesiresByPredicate(GenerateOptionsOperator.prepareQueryProcessing);
      for (Desire d : currentDesires) {
        reval = reval || processQuery(d, pp, ag);
      }

      currentDesires = des.getDesiresByPredicate(GenerateOptionsOperator.prepareRevisionProcessing);
      for (Desire d : currentDesires) {
        reval = reval || processRevision(d, pp, ag);
      }

      currentDesires = des.getDesiresByPredicate(GenerateOptionsOperator.prepareUpdateProcessing);
      for (Desire d : currentDesires) {
        reval = reval || processUpdate(d, pp, ag);
      }

      currentDesires =
          des.getDesiresByPredicate(GenerateOptionsOperator.prepareScriptingProcessing);
      for (Desire d : currentDesires) {
        reval = reval || processScripting(d, pp, ag);
      }
    }
    return reval;
  }