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

      { 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$) {
              return (PLI.conceive(Stella.readSExpressionFromString(sentence), ((Module)(module)), environment));
            }

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