public static void updateLinksAndTimestamps(Proposition proposition, Keyword updatemode) {
    if (proposition == null) {
      return;
    }
    Logic.updateNowTimestamp(Logic.KWD_UPDATE_PROPOSITION);
    if ((updatemode == Logic.KWD_ASSERT_TRUE) ||
        (updatemode == Logic.KWD_PRESUME_TRUE)) {
      Proposition.runGoesTrueDemons(proposition);
    }
    else if ((updatemode == Logic.KWD_ASSERT_FALSE) ||
        (updatemode == Logic.KWD_PRESUME_FALSE)) {
      Proposition.runGoesFalseDemons(proposition);
    }
    else if (updatemode == Logic.KWD_RETRACT_TRUE) {
      Proposition.runGoesUnknownDemons(proposition);
    }
    else if (updatemode == Logic.KWD_RETRACT_FALSE) {
      Proposition.runGoesUnknownDemons(proposition);
    }
    else {
      { OutputStringStream stream000 = OutputStringStream.newOutputStringStream();

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