@Override
public VersionIterator getAllLinearVersions() throws RepositoryException {
return perform(new SessionOperation<VersionIterator>() {
@Override
public VersionIterator perform() throws RepositoryException {
return new VersionIteratorAdapter(Iterators.transform(
dlg.getAllLinearVersions(), new Function<VersionDelegate, Version>() {
@Override
public Version apply(VersionDelegate input) {
return new VersionImpl(input, sessionContext);
}