public function analyze()
{
$modifiedVar = 'where( __.repeat( out() ).emit( hasLabel("Variable") ).times(' . self::MAX_LOOPING . ').hasLabel("Variable")
.filter{ it.get().value("code") == name}
.where( __.in("ANALYZED").has("analyzer", "Variables/IsModified").count().is(eq(1)) )
.count().is(eq(0)) )';
// case of a variable
$this->atomIs('Foreach')->outIs('VALUE')->outIsIE('RIGHT')->is('reference', true)->savePropertyAs('code', 'name')->inIs('VALUE')->outIs('BLOCK')->raw($modifiedVar)->back('first');
$this->prepareQuery();
}