public void AddLink(DaisyAst ast, string rawStatement, Func<int,bool> predicate)
{
var statement = new FakeStatement(rawStatement, predicate).Link(rawStatement);
new AstCollector(ast)
.OfType<StatementNode>()
.Where(x => x.Text == rawStatement)
.Select(x => { x.LinkedStatement = statement; return x; }) //Sigh, I wish I had a for each
.ToList();
}