private Fragment packNext(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;
  }
private Fragment packNext(final long earliestRevision, final long oldestRevision, final int desirableSize, final boolean includeOldest,
                            final boolean wasConsistentWithPrevious)