Fragment (final long earliestRevision, final long oldestRevision, final int desirableSize, final boolean includeOldest, final boolean wasConsistentWithPrevious) { try { if (myIterator.hasNext()) { final ChangesBunch changesBunch = myIterator.next(); if (changesBunch == null) { return null; } addToLoaded(changesBunch); // there is no earliestRevision // always consistent since there were exactly 'earliest revision' in previous potion return createFromLoaded(changesBunch, earliestRevision, oldestRevision, desirableSize, true, includeOldest, wasConsistentWithPrevious); } } catch (SwitchRevisionsProviderException e) { // means that committed cache now should be queried instead of internally cached // just return null -> queries will be redirected } return null; }