private static CodeBlockSelectionExpression CodeInCommitsInFiles(this PredictorContext c)
 {
     return(c.SelectionDSL()
            .Commits().Reselect(
                c.GetValue <Func <CommitSelectionExpression, CommitSelectionExpression> >("commits")
                )
            .Files().Reselect(
                c.GetValue <Func <ProjectFileSelectionExpression, ProjectFileSelectionExpression> >("files")
                )
            .Modifications().InCommits().InFiles()
            .CodeBlocks().InModifications());
 }
        private static CodeBlockSelectionExpression CodeInFilesTillRevision(this PredictorContext c)
        {
            c.SetValue("commits", (Func <CommitSelectionExpression, CommitSelectionExpression>)(e =>
                                                                                                e.TillRevision(c.GetValue <string>("till_revision"))
                                                                                                ));

            return(CodeInCommitsInFiles(c));
        }