static Cons helpGetTrueExtensionMembers(NamedDescription relation, boolean specializeP) {
    { Cons value000 = Stella.NIL;

      { Stella_Object p = null;
        Iterator iter000 = NamedDescription.allExtensionMembers(relation);
        Cons collect000 = null;

        while (iter000.nextP()) {
          p = iter000.value;
          if ((!((Proposition)(p)).deletedP()) &&
              ((((Boolean)(Logic.$REVERSEPOLARITYp$.get())).booleanValue() ? Proposition.falseP(((Proposition)(p))) : (Proposition.trueP(((Proposition)(p))) ||
              Proposition.functionWithDefinedValueP(((Proposition)(p))))))) {
            if (collect000 == null) {
              {
                collect000 = Cons.cons(p, Stella.NIL);
                if (value000 == Stella.NIL) {
                  value000 = collect000;
                }
                else {
                  Cons.addConsToEndOfConsList(value000, collect000);
                }
              }
            }
            else {
              {
                collect000.rest = Cons.cons(p, Stella.NIL);
                collect000 = collect000.rest;
              }
            }
          }
        }
      }
      { Cons result = value000;

        if (specializeP) {
          { LogicObject sub = null;
            Iterator iter001 = LogicObject.allSubcollections(relation);

            while (iter001.nextP()) {
              sub = ((LogicObject)(iter001.value));
              if (Stella_Object.isaP(sub, Logic.SGT_LOGIC_NAMED_DESCRIPTION)) {
                { Stella_Object p = null;
                  Iterator iter002 = NamedDescription.allExtensionMembers(((NamedDescription)(sub)));

                  while (iter002.nextP()) {
                    p = iter002.value;
                    if ((!((Proposition)(p)).deletedP()) &&
                        ((((Boolean)(Logic.$REVERSEPOLARITYp$.get())).booleanValue() ? Proposition.falseP(((Proposition)(p))) : (Proposition.trueP(((Proposition)(p))) ||
                        Proposition.functionWithDefinedValueP(((Proposition)(p))))))) {
                      result = Cons.cons(p, result);
                    }
                  }
                }
              }
            }
          }
          return (result.removeDuplicates());
        }
        return (result);
      }
    }
  }