docs: public static synchronized void register(final String serviceName,
                                               final Callable<Class< ? >> factory) {
          if ( serviceName == null ) {
              throw new IllegalArgumentException( "serviceName cannot be null" );
          }
          if ( factory != null ) {
              if ( factories == null ) {
                  factories = new HashMap<String, List<Callable<Class< ? >>>>();
              }
              List<Callable<Class< ? >>> l = factories.get( serviceName );
              if ( l == null ) {
                  l = new ArrayList<Callable<Class< ? >>>();
                  factories.put( serviceName,
                                 l );
              }
              l.add( factory );
          }
      }