The DeclarationProgramVariableCollector collects all top level
declared program variables relative to the given block to be
visited, for example starting with
{ int j; { int i; } { int h; } for (int k; ...) {} int h; }
the collector will return a set containg j, h the
h because of the second occurrence of h