public static List getCoveredExamples(Cons rule, List uncovered) {
    { List covered = List.newList();

      { TrainingExample example = null;
        Cons iter000 = uncovered.theConsList;
        Cons collect000 = null;

        for (;!(iter000 == Stella.NIL); iter000 = iter000.rest) {
          example = ((TrainingExample)(iter000.value));
          if (Logic.ruleCoversExampleP(rule, example)) {
            if (collect000 == null) {
              {
                collect000 = Cons.cons(example, Stella.NIL);
                if (covered.theConsList == Stella.NIL) {
                  covered.theConsList = collect000;
                }
                else {
                  Cons.addConsToEndOfConsList(covered.theConsList, collect000);
                }
              }
            }
            else {
              {
                collect000.rest = Cons.cons(example, Stella.NIL);
                collect000 = collect000.rest;
              }
            }
          }
        }
      }
      return (covered);
    }
  }