public static Stella_Object accessMemoizationTableSlotValue(MemoizationTable self, Symbol slotname, Stella_Object value, boolean setvalueP) {
    if (slotname == Stella.SYM_STELLA_HASH_TABLE) {
      if (setvalueP) {
        self.hashTable = ((IntegerHashTable)(value));
      }
      else {
        value = self.hashTable;
      }
    }
    else if (slotname == Stella.SYM_STELLA_TABLE_NAME) {
      if (setvalueP) {
        self.tableName = ((Surrogate)(value));
      }
      else {
        value = self.tableName;
      }
    }
    else if (slotname == Stella.SYM_STELLA_CURRENT_TIMESTAMP) {
      if (setvalueP) {
        self.currentTimestamp = ((Cons)(value));
      }
      else {
        value = self.currentTimestamp;
      }
    }
    else if (slotname == Stella.SYM_STELLA_TIMESTAMPS) {
      if (setvalueP) {
        self.timestamps = ((Cons)(value));
      }
      else {
        value = self.timestamps;
      }
    }
    else {
      { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

        stream000.nativeStream.print("`" + slotname + "' is not a valid case option");
        throw ((StellaException)(StellaException.newStellaException(stream000.theStringReader()).fillInStackTrace()));
      }
    }
    return (value);
  }