public static Proposition updateProperty(LogicObject self, Surrogate surrogate, Keyword updatemode) {
    { Proposition value000 = null;

      { Proposition p = null;
        Iterator iter000 = Logic.unfilteredDependentPropositions(self, surrogate).allocateIterator();

        loop000 : while (iter000.nextP()) {
          p = ((Proposition)(iter000.value));
          if ((((Surrogate)(p.operator)) == surrogate) &&
              (p.arguments.length() == 1)) {
            value000 = p;
            break loop000;
          }
        }
      }
      { Proposition propertyproposition = value000;

        if ((surrogate == null) ||
            (surrogate.surrogateValue == null)) {
          System.out.println("Error: Property " + surrogate + " is not defined.");
          return (null);
        }
        if (propertyproposition == null) {
          propertyproposition = Logic.createProposition(Logic.SYM_STELLA_PREDICATE, 1);
          (propertyproposition.arguments.theArray)[0] = self;
          propertyproposition.operator = surrogate;
          Proposition.fastenDownOneProposition(propertyproposition, false);
        }
        Proposition.updatePropositionTruthValue(propertyproposition, updatemode);
        return (propertyproposition);
      }
    }
  }