public static void updateNonStructuralModuleOptions(Module oldmodule, Module newmodule, String newoptions) {
    if (newoptions == null) {
      newoptions = newmodule.stringifiedOptions;
    }
    { PropertyList self000 = PropertyList.newPropertyList();

      self000.thePlist = ((Cons)(Stella.readSExpressionFromString(oldmodule.stringifiedOptions)));
      { PropertyList oldplist = self000;

        { PropertyList self001 = PropertyList.newPropertyList();

          self001.thePlist = ((Cons)(Stella.readSExpressionFromString(newoptions)));
          { PropertyList newplist = self001;
            Stella_Object oldvalue = null;
            Stella_Object newvalue = null;
            Cons changedValues = Stella.NIL;

            { Keyword option = null;
              Cons iter000 = Stella.$MODULE_NON_STRUCTURAL_OPTIONS$;

              for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
                option = ((Keyword)(iter000.value));
                oldvalue = oldplist.lookup(option);
                newvalue = newplist.lookup(option);
                if (!(Stella_Object.eqlP(oldvalue, newvalue))) {
                  if (newvalue != null) {
                    changedValues = Cons.cons(newvalue, changedValues);
                  }
                  else {
                    {
                      if (newmodule == null) {
                        newmodule = Module.newModule();
                      }
                      changedValues = Cons.cons(StandardObject.readSlotValue(newmodule, Surrogate.lookupSlotFromOptionKeyword(newmodule.primaryType(), option)), changedValues);
                    }
                  }
                  changedValues = Cons.cons(option, changedValues);
                }
              }
            }
            if (!(changedValues == Stella.NIL)) {
              System.out.println("Updating module `" + oldmodule + "'");
              Module.incorporateModuleOptions(oldmodule, changedValues);
              oldmodule.stringifiedOptions = newoptions;
            }
          }
        }
      }
    }
  }