public static void queryAndUpdateCoveredExamples(Cons rule, List uncovered, List covered) {
    { TrainingExample example = null;
      Cons iter000 = uncovered.copy().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;
            }
          }
        }
      }
    }
  }