public static void helpCollectIntensionalParents(Description description, Proposition proposition, List collection) {
    { Keyword testValue000 = proposition.kind;

      if ((testValue000 == Logic.KWD_PREDICATE) ||
          ((testValue000 == Logic.KWD_FUNCTION) ||
           (testValue000 == Logic.KWD_ISA))) {
        { boolean testValue001 = false;

          { boolean alwaysP000 = true;

            { Stella_Object arg1 = null;
              Vector vector000 = proposition.arguments;
              int index000 = 0;
              int length000 = vector000.length();
              PatternVariable arg2 = null;
              Vector vector001 = description.ioVariables;
              int index001 = 0;
              int length001 = vector001.length();

              loop000 : for (;(index000 < length000) &&
                        (index001 < length001); index000 = index000 + 1, index001 = index001 + 1) {
                arg1 = (vector000.theArray)[index000];
                arg2 = ((PatternVariable)((vector001.theArray)[index001]));
                if (!(arg1 == arg2)) {
                  alwaysP000 = false;
                  break loop000;
                }
              }
            }
            testValue001 = alwaysP000;
          }
          if (testValue001) {
            testValue001 = proposition.arguments.length() == description.ioVariables.length();
          }
          if (testValue001) {
            collection.push(Logic.getDescription(((Surrogate)(proposition.operator))));
          }
        }
      }
      else if (testValue000 == Logic.KWD_AND) {
        { Stella_Object arg = null;
          Vector vector002 = proposition.arguments;
          int index002 = 0;
          int length002 = vector002.length();

          for (;index002 < length002; index002 = index002 + 1) {
            arg = (vector002.theArray)[index002];
            Description.helpCollectIntensionalParents(description, ((Proposition)(arg)), collection);
          }
        }
      }
      else if (testValue000 == Logic.KWD_EXISTS) {
        Description.helpCollectIntensionalParents(description, ((Proposition)((proposition.arguments.theArray)[0])), collection);
      }
      else {
      }
    }
  }