public static TruthValue propositionsIteratorTruthValue(Iterator self) {
    { Surrogate testValue000 = Stella_Object.safePrimaryType(self);

      if (Surrogate.subtypeOfP(testValue000, Logic.SGT_LOGIC_TRUE_PROPOSITIONS_ITERATOR)) {
        { TruePropositionsIterator self000 = ((TruePropositionsIterator)(self));

          return (self000.truthValue);
        }
      }
      else if (Surrogate.subtypeOfP(testValue000, Logic.SGT_LOGIC_DESCRIPTION_EXTENSION_ITERATOR)) {
        { DescriptionExtensionIterator self000 = ((DescriptionExtensionIterator)(self));

          return (self000.truthValue);
        }
      }
      else {
        return (null);
      }
    }
  }