private CatalogService loadCatalogServicePlugin() { // getServiceUtil is a private method, this allows for an impl to be loaded from an internal classloader ServiceLoader loader = Reflection.invokeInstanceMethod( getCascadingServices(), "getServiceUtil" ); Properties defaultProperties = Reflection.getStaticField( getCascadingServices().getClass(), "defaultProperties" ); return (CatalogService) loader.loadServiceFrom( defaultProperties, getProperties(), CatalogService.CATALOG_SERVICE_CLASS_PROPERTY ); }