*/
  public static void setPowerloomFeature(Keyword feature) {
    if (!(Logic.$CURRENT_POWERLOOM_FEATURES$.memberP(feature))) {
      if (feature == Logic.KWD_TRACE_SUBGOALS) {
        Logic.clearCaches();
        Stella.addTrace(Cons.cons(Logic.KWD_GOAL_TREE, Stella.NIL));
      }
      else if (feature == Logic.KWD_TRACE_SOLUTIONS) {
        Logic.clearCaches();
        Stella.addTrace(Cons.cons(Logic.KWD_TRACE_SOLUTIONS, Stella.NIL));
      }
      else if (feature == Logic.KWD_TRACE_CLASSIFIER) {
        Logic.clearCaches();
        Stella.addTrace(Cons.cons(Logic.KWD_CLASSIFIER_INFERENCES, Stella.NIL));
      }
      else if (feature == Logic.KWD_CLOSED_WORLD) {
      }
      else if (feature == Logic.KWD_ITERATIVE_DEEPENING) {
        Logic.$ITERATIVE_DEEPENING_MODEp$ = true;
      }
      else if (feature == Logic.KWD_JUSTIFICATIONS) {
        Native.setBooleanSpecial(Logic.$RECORD_JUSTIFICATIONSp$, true);
      }
      else if (feature == Logic.KWD_JUST_IN_TIME_INFERENCE) {
        Logic.$JUST_IN_TIME_FORWARD_INFERENCEp$ = true;
      }
      else if (feature == Logic.KWD_EMIT_THINKING_DOTS) {
        Logic.$EMIT_THINKING_DOTSp$ = true;
      }
      else {
        Stella.STANDARD_WARNING.nativeStream.println("Warning: No such PowerLoom environment feature: `" + feature + "'");
        Logic.printFeatures();
        return;
      }
      Logic.$CURRENT_POWERLOOM_FEATURES$.insert(feature);
    }
  }