public static boolean runSlotGuardDemonsP(StandardObject self, StorageSlot slot, Stella_Object oldvalue, Stella_Object newvalue) {
    if (Stella.$ALL_SLOTS_GUARD_DEMONS$ != null) {
      { Demon demon = null;
        Cons iter000 = Stella.$ALL_SLOTS_GUARD_DEMONS$.theConsList;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          demon = ((Demon)(iter000.value));
          if (!((Boolean)(edu.isi.stella.javalib.Native.funcall(demon.demonCode, null, new java.lang.Object [] {self, slot, oldvalue, newvalue}))).booleanValue()) {
            return (false);
          }
        }
      }
    }
    if (slot.slotGuardDemons() != null) {
      { Demon demon = null;
        Cons iter001 = slot.slotGuardDemons().theConsList;

        for (;!(iter001 == Stella.NIL); iter001 = iter001.rest) {
          demon = ((Demon)(iter001.value));
          if (!((Boolean)(edu.isi.stella.javalib.Native.funcall(demon.demonCode, null, new java.lang.Object [] {self, slot, oldvalue, newvalue}))).booleanValue()) {
            return (false);
          }
        }
      }
    }
    return (true);
  }