class OrdinalSmellTypeAnalysis implements Query {

    @Override
    public void query() throws QueryException {
        Smell smell;
        Commit commit;

        Map<String, Object> instance;
        BranchAnalyzer branchAnalyzer = new BranchAnalyzer(
                projectId, persistence,
                duplicationChecker, commitQueries, smellQueries
        );
        while (smells.hasNext()) {
            instance = smells.next();
            smell = Smell.fromPaprikaInstance(instance, smellType);
            commit = Commit.fromInstance(instance);
            branchAnalyzer.notifyCommit(commit);
            branchAnalyzer.notifySmell(smell);
        }

        branchAnalyzer.notifyEnd();
    }

      OrdinalSmellTypeAnalysis(int projectId, Persistence persistence, Iterator<Map<String, Object>> smells,
                             String smellType, SmellDuplicationChecker duplicationChecker,
                             CommitQueries commitQueries, SmellQueries smellQueries);

}