question: @ Override public final int size ( ) { return ( int ) Math . max ( ( tail . get ( ) - head . get ( ) ) , 0 ) ; }
target:  This implemention is known to be broken if preemption were to occur after reading the tail pointer. Code should not depend on size for a correct result.