@Override public void enterScope(final IScope scope){
  super.enterScope(scope);
  final ITopology topo=Cast.asTopology(scope,topology.value(scope));
  if (topo != null) {
    previous.set(scope.setTopology(topo));
  }
}

@ Override public void enterScope ( final IScope scope ) { super . enterScope ( scope ) ; final ITopology topo = Cast . asTopology ( scope , topology . value ( scope ) ) ; if ( topo != null ) { previous . set ( scope . setTopology ( topo ) ) ; } }
when entering the scope , the statement pushes the topology ( if not null ) to it and remembers the one that was previously pushed .
