Recrusive calls to UpdateDependencyGraph

1. Make recursive calls to UpdateDependencyGraph when traversing a
language block graphnode. This will handle marking dirty nodes inside an
associative language block
2. Fixed testcase