code: private void init() {
          // defaults for internal bookkeeping
          index = 0;              // internal index always starts at 0
          count = 1;              // internal count always starts at 1
          status = null;          // we clear status on release()
          item = null;            // item will be retrieved for each round
          last = false;           // last must be set explicitly
          beginSpecified = false; // not specified until it's specified :-)
          endSpecified = false;   // (as above)
          stepSpecified = false;  // (as above)
          deferredExpression = null;
  
          // defaults for interface with page author
          begin = 0;              // when not specified, 'begin' is 0 by spec.
          end = -1;               // when not specified, 'end' is not used
          step = 1;               // when not specified, 'step' is 1
          itemId = null;          // when not specified, no variable exported
          statusId = null;        // when not specified, no variable exported
      }
docs: (Re)initializes state (during release() or construction)