public static Lookup get() {
        if (LOOKUP != null) {
            return LOOKUP;
        }
        synchronized (Lookup.class) {
            // allow for override of the Lookup.class
            String overrideClassName = System.getProperty(Lookup.class.getName());
            ClassLoader l = Thread.currentThread().getContextClassLoader();
            try {
                if (overrideClassName != null && !"".equals(overrideClassName)) {
                    LOOKUP = (Lookup) Class.forName(overrideClassName, true, l).newInstance();
                } else {
                    LOOKUP = new Lookup();
                }
            } catch (Exception e) {
                // ignore
            }
            // ServiceLoader and CDI are used by defaults, important that
            // CDI is used first so that beans are enabled for injection
            CdiLookup cdiLookup = new CdiLookup();
            LOOKUP.lookupProviders.add(cdiLookup);
            ServiceLoaderLookup serviceLoaderLookup = new ServiceLoaderLookup();
            LOOKUP.lookupProviders.add(serviceLoaderLookup);
            // Use ServiceLoader to find other LookupProviders
            Collection<LookupProvider> providers = serviceLoaderLookup
                    .lookupAll(LookupProvider.class);
            LOOKUP.lookupProviders.addAll(providers);
        }

        return LOOKUP;
    }
public static Lookup get ( ) { if ( LOOKUP != null ) { return LOOKUP ; } synchronized ( Lookup . class ) { String overrideClassName = System . getProperty ( Lookup . class . getName ( ) ) ; ClassLoader l = Thread . currentThread ( ) . getContextClassLoader ( ) ; try { if ( overrideClassName != null && ! "" . equals ( overrideClassName ) ) { LOOKUP = ( Lookup ) Class . forName ( overrideClassName , true , l ) . newInstance ( ) ; } else { LOOKUP = new Lookup ( ) ; } } catch ( Exception e ) { } CdiLookup cdiLookup = new CdiLookup ( ) ; LOOKUP . lookupProviders . add ( cdiLookup ) ; ServiceLoaderLookup serviceLoaderLookup = new ServiceLoaderLookup ( ) ; LOOKUP . lookupProviders . add ( serviceLoaderLookup ) ; Collection < LookupProvider > providers = serviceLoaderLookup . lookupAll ( LookupProvider . class ) ; LOOKUP . lookupProviders . addAll ( providers ) ; } return LOOKUP ; }
Acquire the Lookup registry.

@return The lookup registry.