class JGitChangeScopeResolver implements ChangeScopeResolver {

    @Override
    public ChangeScope<Change> getChangeScope(RevisionScope<ObjectId> revisionScope) throws SourceControlException {
        final ChangeScope<Change> scope = new ChangeScopeImpl();
        try {
            List<DiffEntry> filtered = getFilteredEntries(revisionScope);

            for (DiffEntry entry : filtered) {
                EditList editList = diffFormatter.toFileHeader(entry).toEditList();
                if (!editList.isEmpty()) {
                    computeDiffEntry(entry, editList, revisionScope, scope);
                }
            }
        } catch (IOException e) {
            throw new SourceControlException(ErrorMessages.SCAN_REVISIONS_EXCEPTION, e);
        }
        return scope;
    }

    public  JGitChangeScopeResolver(Repository repository, SourceControlFilter... filters);

}