@Override
  public long getEarliestRevision() {
    if (myEarliestKeepedRevision == -1) {
      try {
        while (myIterator.hasNext()) {
          final ChangesBunch changesBunch = myIterator.next();
          if (changesBunch == null) {
            break;
          }
          addToLoaded(changesBunch);
          final List<CommittedChangeList> list = myAlreadyReaded.getList();
          if (! list.isEmpty()) {
            myEarliestKeepedRevision = list.get(0).getNumber();
            break;
          }
        }
      } catch (SwitchRevisionsProviderException e) {
        // means that committed cache now should be queried instead of internally cached
        // just return -1 -> queries will be redirected
        myEarliestKeepedRevision = -1;
      }
    }
    return myEarliestKeepedRevision;
  }
@Override
  public long getEarliestRevision()