code: public static <CFG extends PushConfiguration<CFG>> CFG config(String name, Class<CFG> pushConfigurationClass) {
  
          @SuppressWarnings("unchecked")
          ConfigurationProvider<? extends PushConfiguration<CFG>> provider = (ConfigurationProvider<? extends PushConfiguration<CFG>>) CONFIGURATION_PROVIDER_MAP
                  .get(pushConfigurationClass);
  
          if (provider == null) {
              throw new IllegalArgumentException("Configuration not registered!");
          }
  
          return provider.newConfiguration()
                  .setName(name)
                  .addOnPushRegistrarCreatedListener(ON_PUSH_REGISTRAR_CREATED_LISTENER);
  
      }
docs: Begins a new fluent configuration stanza.
  
  @param <CFG> the Configuration type.
  @param name an identifier which will be used to fetch the
  PushRegistrar after configuration is finished.
  @param pushConfigurationClass the class of the configuration
  type.
  
  @return a {@link PushConfiguration} which can be used to build a
  AuthenticationModule object.