* @param forceP
   */
  public static void callRunForwardRules(Module module, boolean forceP) {
    Logic.finalizeObjects();
    Logic.processCheckTypesAgenda();
    if (forceP) {
      Logic.destroyInferenceCaches(module);
    }
    { Context worldstate = Logic.getWorldState(module);
      World propagationworld = Logic.getInferenceCache(worldstate, Logic.KWD_META);

      if (((BooleanWrapper)(KeyValueList.dynamicSlotValue(propagationworld.dynamicSlots, Logic.SYM_LOGIC_UP_TO_DATE_INFERENCESp, Stella.FALSE_WRAPPER))).wrapperValue) {
        return;
      }
      { Proposition p = null;
        Iterator iter000 = Logic.allPropositions(((Module)(worldstate)), true);

        while (iter000.nextP()) {
          p = ((Proposition)(iter000.value));
          Logic.reactToKbUpdate(propagationworld, p);
        }
      }
      KeyValueList.setDynamicSlotValue(propagationworld.dynamicSlots, Logic.SYM_LOGIC_UP_TO_DATE_INFERENCESp, Stella.TRUE_WRAPPER, Stella.FALSE_WRAPPER);
    }
  }