code: public void each(Procedure<? super T> procedure)
      {
          int i = 0;
          Iterator<T> iterator = this.adapted.iterator();
          while (i < this.count && iterator.hasNext())
          {
              procedure.value(iterator.next());
              i++;
          }
      }
docs: TODO: implement in terms of LazyIterate.whileDo() when it is added.