public boolean hasNext(){
  try {
switch (modus) {
case INIT:
      return queryArticle();
case ITERATE_WITH_MAPPING:
    if (chronoIterator.hasNext()) {
      return true;
    }
  reset();
if (resultArticles.next()) {
  this.currentArticleID=resultArticles.getInt(1);
  return (this.lastArticleID == -1) || (this.currentArticleID <= this.lastArticleID);
}
resultArticles.close();
return queryArticle();
case ITERATE_WITHOUT_MAPPING:
if (revisionIterator.hasNext()) {
return true;
}
reset();
if (resultArticles.next()) {
this.currentArticleID=resultArticles.getInt(1);
return (this.lastArticleID == -1) || (this.currentArticleID <= this.lastArticleID);
}
resultArticles.close();
return queryArticle();
default :
throw new RuntimeException("Illegal mode");
}
}
 catch (SQLException e) {
throw new RuntimeException(e);
}
}

public boolean hasNext ( ) { try { switch ( modus ) { case INIT : return queryArticle ( ) ; case ITERATE_WITH_MAPPING : if ( chronoIterator . hasNext ( ) ) { return true ; } reset ( ) ; if ( resultArticles . next ( ) ) { this . currentArticleID = resultArticles . getInt ( 1 ) ; return ( this . lastArticleID == - 1 ) || ( this . currentArticleID <= this . lastArticleID ) ; } resultArticles . close ( ) ; return queryArticle ( ) ; case ITERATE_WITHOUT_MAPPING : if ( revisionIterator . hasNext ( ) ) { return true ; } reset ( ) ; if ( resultArticles . next ( ) ) { this . currentArticleID = resultArticles . getInt ( 1 ) ; return ( this . lastArticleID == - 1 ) || ( this . currentArticleID <= this . lastArticleID ) ; } resultArticles . close ( ) ; return queryArticle ( ) ; default : throw new RuntimeException ( "Illegal mode" ) ; } } catch ( SQLException e ) { throw new RuntimeException ( e ) ; } }
returns whether another revision is available or not .
