public static void defaultOptionHandler(Stella_Object self, StorageSlot slot, Stella_Object tree) {
    { Stella_Object parsedvalue = null;

      if (slot.type() == Stella.SGT_STELLA_BOOLEAN) {
        parsedvalue = Stella_Object.coerceToBoolean(tree);
      }
      else {
        if (tree != null) {
          parsedvalue = Stella_Object.permanentCopy(tree);
        }
      }
      if ((((Integer)(Stella.$SAFETY$.get())).intValue() >= 2) &&
          (parsedvalue != null)) {
        if (!Stella_Object.isaP(parsedvalue, slot.type().typeToWrappedType())) {
          { Object old$PrintreadablyP$000 = Stella.$PRINTREADABLYp$.get();

            try {
              Native.setBooleanSpecial(Stella.$PRINTREADABLYp$, true);
              Stella.signalTranslationError();
              if (!(Stella.suppressWarningsP())) {
                Stella.printErrorContext(">> ERROR: ", Stella.STANDARD_ERROR);
                {
                  Stella.STANDARD_ERROR.nativeStream.println();
                  Stella.STANDARD_ERROR.nativeStream.println(" Illegal value for `" + ((Keyword)(KeyValueList.dynamicSlotValue(slot.dynamicSlots, Stella.SYM_STELLA_SLOT_OPTION_KEYWORD, null))) + "' option: `" + Stella_Object.deUglifyParseTree(tree) + "'.");
                }
;
              }

            } finally {
              Stella.$PRINTREADABLYp$.set(old$PrintreadablyP$000);
            }
          }
          return;
        }
      }
      StandardObject.writeSlotValue(((StandardObject)(self)), slot, parsedvalue);
    }
  }