public int register(Advice advice){
  int adviceId=adviceIdSeed.getAndIncrement();
  ActiveInstances current, next;
  do {
    current=active.get();
    next=current.add(advice,adviceId);
  }
 while (!active.compareAndSet(current,next));
  return adviceId;
}

public int register ( Advice advice ) { int adviceId = adviceIdSeed . getAndIncrement ( ) ; ActiveInstances current , next ; do { current = active . get ( ) ; next = current . add ( advice , adviceId ) ; } while ( ! active . compareAndSet ( current , next ) ) ; return adviceId ; }
registers an advice instance , returning the unique lookup id for the advice
