public static Proposition updateIsaProposition(Stella_Object self, Surrogate type, Keyword updatemode) {
    { Proposition value000 = null;

      { Proposition p = null;
        Iterator iter000 = Logic.unfilteredDependentIsaPropositions(self).allocateIterator();

        loop000 : while (iter000.nextP()) {
          p = ((Proposition)(iter000.value));
          if (((Surrogate)(p.operator)) == type) {
            value000 = p;
            break loop000;
          }
        }
      }
      { Proposition isaproposition = value000;

        if (isaproposition == null) {
          isaproposition = Logic.createProposition(Logic.SYM_STELLA_ISA, 1);
          isaproposition.operator = type;
          (isaproposition.arguments.theArray)[0] = self;
          Proposition.fastenDownOneProposition(isaproposition, false);
        }
        Proposition.updatePropositionTruthValue(isaproposition, updatemode);
        return (isaproposition);
      }
    }
  }