@Override public Long call() throws Exception {
  final boolean TRACE=log.isTraceEnabled();
  if (pushDownApply()) {
    program.apply(gasState,u,null);
  }
  if (!program.isChanged(gasState,u)) {
    return 0L;
  }
  long nedges=0L;
  final IGASScheduler sch=scheduler();
  final Iterator<Statement> eitr=graphAccessor.getEdges(GASContext.this,u,getEdgesEnum());
  try {
    while (eitr.hasNext()) {
      final Statement e=eitr.next();
      nedges++;
      if (TRACE)       log.trace("e=" + gasState.toString(e));
      program.scatter(gasState,sch,u,e);
    }
  }
  finally {
  }
  return nedges;
}

@ Override public Long call ( ) throws Exception { final boolean TRACE = log . isTraceEnabled ( ) ; if ( pushDownApply ( ) ) { program . apply ( gasState , u , null ) ; } if ( ! program . isChanged ( gasState , u ) ) { return 0L ; } long nedges = 0L ; final IGASScheduler sch = scheduler ( ) ; final Iterator < Statement > eitr = graphAccessor . getEdges ( GASContext . this , u , getEdgesEnum ( ) ) ; try { while ( eitr . hasNext ( ) ) { final Statement e = eitr . next ( ) ; nedges ++ ; if ( TRACE ) log . trace ( "e=" + gasState . toString ( e ) ) ; program . scatter ( gasState , sch , u , e ) ; } } finally { } return nedges ; }
execute the scatter for the vertex .
