public static Cons extractRdbmsOptions(Symbol selfname, Cons options, Object [] MV_returnarray) {
    { PropertyList self000 = PropertyList.newPropertyList();

      self000.thePlist = options;
      { PropertyList sourceoptions = self000;
        Module rdbmsmodule = Stella.getStellaModule("RDBMS", true);
        Surrogate relationref = null;
        NamedDescription relation = null;
        Cons axioms = Stella.NIL;
        Cons otheroptions = Stella.NIL;

        { Stella_Object key = null;
          Stella_Object value = null;
          Cons iter000 = sourceoptions.thePlist;

          loop000 : for (;!(iter000 == Stella.NIL); iter000 = iter000.rest.rest) {
            key = iter000.value;
            value = iter000.rest.value;
            if (Stella_Object.keywordP(key)) {
              relationref = Surrogate.lookupSurrogateInModule(((Keyword)(key)).symbolName, rdbmsmodule, true);
              if (relationref != null) {
                relation = Logic.getDescription(relationref);
                if (relation != null) {
                  if (Stella_Object.consP(value)) {
                    axioms = Cons.cons(Cons.cons(relation.descriptionName(), Cons.cons(selfname, ((Cons)(value)))), axioms);
                  }
                  else {
                    { Object old$Module$000 = Stella.$MODULE$.get();
                      Object old$Context$000 = Stella.$CONTEXT$.get();

                      try {
                        Native.setSpecial(Stella.$MODULE$, rdbmsmodule);
                        Native.setSpecial(Stella.$CONTEXT$, ((Module)(Stella.$MODULE$.get())));
                        axioms = Cons.cons(Logic.helpDefineKeywordAxioms(selfname, ((Keyword)(key)), value), axioms);

                      } finally {
                        Stella.$CONTEXT$.set(old$Context$000);
                        Stella.$MODULE$.set(old$Module$000);
                      }
                    }
                  }
                  continue loop000;
                }
              }
            }
            otheroptions = Cons.cons(key, otheroptions);
            otheroptions = Cons.cons(value, otheroptions);
          }
        }
        { Cons _return_temp = axioms.reverse();

          MV_returnarray[0] = otheroptions.reverse();
          return (_return_temp);
        }
      }
    }
  }