* @param moduleName
   * @param environment
   * @return PlIterator
   */
  public static PlIterator sRetractProposition(String sentence, String moduleName, Environment environment) {
    { Context module = PLI.safelyGetModule(moduleName, environment);
      PlIterator propositions = null;
      PlIterator returnValue = null;

      { Module mdl000 = ((Module)(module));
        Context cxt000 = mdl000;

        if (mdl000 == null) {
          mdl000 = ((Module)(Stella.$MODULE$.get()));
          cxt000 = ((Context)(Stella.$CONTEXT$.get()));
        }
        { Object old$Module$000 = Stella.$MODULE$.get();
          Object old$Context$000 = Stella.$CONTEXT$.get();

          try {
            Native.setSpecial(Stella.$MODULE$, mdl000);
            Native.setSpecial(Stella.$CONTEXT$, cxt000);
            environment = environment;
            synchronized (Logic.$POWERLOOM_LOCK$) {
              propositions = PLI.sConceive(sentence, moduleName, environment);
              returnValue = PLI.consToPlIterator(propositions.cursor);
              { Proposition proposition = null;
                PlIterator iter000 = propositions;

                while (iter000.nextP()) {
                  proposition = ((Proposition)(iter000.value));
                  Proposition.helpUpdateTopLevelProposition(proposition, Logic.KWD_RETRACT_TRUE);
                }
              }
              return (returnValue);
            }

          } finally {
            Stella.$CONTEXT$.set(old$Context$000);
            Stella.$MODULE$.set(old$Module$000);
          }
        }
      }
    }
  }