public static Stella_Object accessContextSlotValue(Context self, Symbol slotname, Stella_Object value, boolean setvalueP) {
    if (slotname == Stella.SYM_STELLA_CHILD_CONTEXTS) {
      if (setvalueP) {
        self.childContexts = ((List)(value));
      }
      else {
        value = self.childContexts;
      }
    }
    else if (slotname == Stella.SYM_STELLA_BASE_MODULE) {
      if (setvalueP) {
        self.baseModule = ((Module)(value));
      }
      else {
        value = self.baseModule;
      }
    }
    else if (slotname == Stella.SYM_STELLA_ALL_SUPER_CONTEXTS) {
      if (setvalueP) {
        self.allSuperContexts = ((Cons)(value));
      }
      else {
        value = self.allSuperContexts;
      }
    }
    else if (slotname == Stella.SYM_STELLA_CONTEXT_NUMBER) {
      if (setvalueP) {
        self.contextNumber = ((IntegerWrapper)(value)).wrapperValue;
      }
      else {
        value = IntegerWrapper.wrapInteger(self.contextNumber);
      }
    }
    else {
      if (setvalueP) {
        KeyValueList.setDynamicSlotValue(self.dynamicSlots, slotname, value, null);
      }
      else {
        value = self.dynamicSlots.lookup(slotname);
      }
    }
    return (value);
  }