class BranchQuery extends PersistenceAnalyzer implements Query {

    @Override
    public void query() throws QueryException {
        logger.info("[" + projectId + "] Starting Branches insertion");
        Commit commit = retrieveHeadCommit();

        List<Branch> branches = buildBranchTree(null, commit);
        for (Branch branch : branches) {
            persistBranch(branch);
        }
        persistence.commit();
    }

    public  BranchQuery(int projectId, Repository repository,
                       Persistence persistence, CommitQueries commitQueries, BranchQueries branchQueries);

}