public synchronized List<Listener> listeners()
{
if( this.listeners == null )
{
final ListFactory<Listener> listenersListFactory = ListFactory.start();
final Listeners listenersAnnotation = getAnnotation( Listeners.class );
if( listenersAnnotation != null )
{
for( Class<? extends Listener> cl : listenersAnnotation.value() )
{
try
{
listenersListFactory.add( cl.newInstance() );
}