/**
  * Initializes the iterator with the statement $stmt and the definition $def..
  *
  * The statement $stmt must be executed but not used to retrieve any results yet.
  * The iterator will return objects with they persistent object type provided by
  * $def.
  *
  * The $idMap will be used to retrieve existing identities and to store new
  * ones, if discovered. The $options object contains the options used by
  * the identity decorator which uses this instance.
  *
  * @param PDOStatement $stmt
  * @param ezcPersistentObjectDefinition $def
  * @param ezcPersistentIdentityMap $idMap
  * @param ezcPersistentSessionIdentityDecoratorOptions $options
  */
 public function __construct(PDOStatement $stmt, ezcPersistentObjectDefinition $def, ezcPersistentIdentityMap $idMap, ezcPersistentSessionIdentityDecoratorOptions $options)
 {
     parent::__construct($stmt, $def);
     $this->idMap = $idMap;
     $this->options = $options;
 }