* @param options
   * @return Cons
   */
  public static Cons retractFromQuery(Cons query, Cons options) {
    try {
      { PropertyList theoptions = Logic.parseLogicCommandOptions(options, Cons.list$(Cons.cons(Logic.KWD_MODULE, Cons.cons(Logic.SGT_STELLA_MODULE, Cons.cons(Logic.KWD_RELATION, Cons.cons(Logic.SGT_STELLA_SYMBOL, Cons.cons(Logic.KWD_PATTERN, Cons.cons(Logic.SGT_STELLA_CONS, Cons.cons(Stella.NIL, Stella.NIL)))))))), true, false);
        QueryIterator queryiterator = Logic.getQueryIteratorFromCommand(query);
        Description pattern = null;

        if (theoptions.lookup(Logic.KWD_PATTERN) != null) {
          pattern = ((Description)(Logic.conceiveTerm(theoptions.lookup(Logic.KWD_PATTERN))));
        }
        return (QueryIterator.updatePropositionsFromQuery(queryiterator, Logic.coerceToDescription(((pattern != null) ? pattern : theoptions.lookup(Logic.KWD_RELATION)), null), ((Module)(theoptions.lookup(Logic.KWD_MODULE))), Logic.KWD_RETRACT_TRUE, false));
      }
    } catch (LogicException e) {
      Stella.STANDARD_ERROR.nativeStream.print(Stella.exceptionMessage(e));
    }
    return (null);
  }