public <X> void processBean( @Observes final ProcessBean<X> event ) {
if ( event.getAnnotated().isAnnotationPresent( Startup.class ) && ( event.getAnnotated().isAnnotationPresent( ApplicationScoped.class )
|| event.getAnnotated().isAnnotationPresent( Singleton.class ) ) ) {
final Startup startupAnnotation = event.getAnnotated().getAnnotation( Startup.class );
final StartupType type = startupAnnotation.value();
final int priority = startupAnnotation.priority();
final Bean<?> bean = event.getBean();
switch ( type ) {
case EAGER:
startupEagerBeans.add( new OrderedBean( bean,