A {@linkplain Collections#checkedList checked} and {@linkplain Collections#synchronizedList synchronized} {@link java.util.List}. Type checks are performed at run-time in addition of compile-time checks. The synchronization lock can be modified at runtime by overriding the {@link #getLock} method.
This class is similar to using the wrappers provided in {@link Collections}, minus the cost of indirection levels and with the addition of overrideable methods.
@param < E> The type of elements in the list.
@since 2.1
@source $URL$
@version $Id$
@author Jody Garnett (Refractions Research)
@author Martin Desruisseaux (IRD)
@see Collections#checkedList
@see Collections#synchronizedList