Buggy code:
public abstract class Page extends MarkupContainer implements IRedirectListener , IPageMapEntry { private static final long serialVersionUID = 1L ; public static final int LATEST_VERSION = - 1 ; private static final short FLAG_IS_RENDERING = FLAG_RESERVED2 ; private static final short FLAG_NEW_VERSION = FLAG_RESERVED3 ; private static final short FLAG_TRACK_CHANGES = FLAG_RESERVED4 ; private static final Log log = LogFactory . getLog ( Page . class ) ; private short autoIndex ; private FeedbackMessages feedbackMessages ; private short numericId ; private transient PageMap pageMap ; private String pageMapName ; private transient Set renderedComponents ; private transient boolean stateless = true ; private IPageVersionManager versionManager ; protected Page ( ) { } protected Page ( final IModel model ) { } protected Page ( final PageMap pageMap ) { } protected Page ( final PageMap pageMap , final IModel model ) { } public void afterCallComponent ( final Component component , final RequestListenerInterface listener ) { } public void beforeCallComponent ( final Component component , final RequestListenerInterface listener ) { } public final boolean checkAccess ( ) { } public void detachModels ( ) { } public final void dirty ( ) { } public final void doRender ( ) { } public final void endComponentRender ( Component component ) { } public final void expireOldestVersion ( ) { } public final short getAutoIndex ( ) { } public final int getCurrentVersionNumber ( ) { } public final FeedbackMessages getFeedbackMessages ( ) { } public final String getId ( ) { } public int getNumericId ( ) { } public final Class getPageClass ( ) { } public final PageMap getPageMap ( ) { } public IPageMapEntry getPageMapEntry ( ) { } public final long getSizeInBytes ( ) { } public Page getVersion ( final int versionNumber ) { if ( ( versionManager ) == null ) { if ( ( versionNumber == 0 ) || ( versionNumber == ( Page . LATEST_VERSION ) ) ) { return this ; } else { Page . log . info ( ( "No<seq2seq4repair_space>version<seq2seq4repair_space>manager<seq2seq4repair_space>available<seq2seq4repair_space>to<seq2seq4repair_space>retrieve<seq2seq4repair_space>requested<seq2seq4repair_space>versionNumber<seq2seq4repair_space>" + versionNumber ) ) ; return null ; } } else { final boolean originalTrackChanges = getFlag ( Page . FLAG_TRACK_CHANGES ) ; try { setFlag ( Page . FLAG_TRACK_CHANGES , false ) ; final Page page ; if ( versionNumber != ( Page . LATEST_VERSION ) ) { page = versionManager . getVersion ( versionNumber ) ; } else { <START_BUG> page = versionManager . getVersion ( versionManager . getVersions ( ) ) ; <END_BUG> } if ( ( page != null ) && ( ( page . getCurrentVersionNumber ( ) ) == 0 ) ) { page . versionManager = null ; } return page ; } finally { setFlag ( Page . FLAG_TRACK_CHANGES , originalTrackChanges ) ; } } } public final int getVersions ( ) { } public final String hierarchyAsString ( ) { } public boolean isErrorPage ( ) { } public final void onRedirect ( ) { } public final void removePersistedFormData ( final Class formClass , final boolean disablePersistence ) { } public final void setNumericId ( final int id ) { } public final void startComponentRender ( Component component ) { } public String toString ( ) { } protected void configureResponse ( ) { } protected final void internalOnEndRequest ( ) { } protected final void internalOnModelChanged ( ) { } protected IPageVersionManager newVersionManager ( ) { } protected final void onRender ( final MarkupStream markupStream ) { } final void componentAdded ( final Component component ) { } final void componentModelChanging ( final Component component ) { } final void componentRemoved ( final Component component ) { } final void componentRendered ( final Component component ) { } final void componentStateChanging ( final Component component , Change change ) { } final boolean isStateless ( ) { } final void setStateless ( boolean stateless ) { } final void setFormComponentValuesFromCookies ( ) { } final void setPageMap ( final PageMap pageMap ) { } private void checkHierarchyChange ( Component component ) { } private final void checkRendering ( final MarkupContainer renderedContainer ) { } private final void endVersion ( ) { } private final void init ( ) { } private final void init ( final PageMap pageMap ) { } private final boolean mayTrackChangesFor ( final Component component ) { } }

Fix:
page = versionManager . getVersion ( getCurrentVersionNumber ( ) ) ;