public function analyze()
{
$this->atomIs('Global')->outIs('GLOBAL')->savePropertyAs('code', 'theGlobal')->goToFunction()->outIs('NAME')->savePropertyAs('code', 'theFunction')->raw('where( g.V().hasLabel("Global").out("GLOBAL").filter{ it.get().value("code") == theGlobal }
.repeat(__.in()).until(and(hasLabel("Function"), where(__.out("NAME").not(hasLabel("Void")) )))
.out("NAME").filter{ it.get().value("code") != theFunction }.count().is(eq(0))
)')->raw('where( g.V().hasLabel("Variable").has("code", "\\$GLOBALS").in("VARIABLE").hasLabel("Array")
.out("INDEX").hasLabel("String").filter{ it.get().value("globalvar") == theGlobal }
.count().is(eq(0))
)')->raw('where( g.V().hasLabel("Variable").filter{ it.get().value("code") == theGlobal }
.where( __.in("ANALYZED").has("analyzer", "Structures/GlobalInGlobal").count().is(neq(0)) )
.count().is(eq(0))
)')->back('first');
$this->prepareQuery();
}