@NotNull
  private Object createConfiguration(Class<?> type) {
    try {
      return type.getDeclaredConstructor().newInstance();
    } catch (InstantiationException e) {
      throw new ExtensionException("Cannot instantiate configuration class %s", e).withArgs(type);
    } catch (IllegalAccessException | NoSuchMethodException e) {
      throw new ExtensionException("Configuration class '%s' has no public no-arg constructor", e).withArgs(type);
    } catch (Exception e) {
      throw new ExtensionException("Failed to instantiate configuration '%s'", e).withArgs(type.getName());
    }
  }
Maintains a registry of global Spock extensions and their configuration objects,
which can be used to configure other extensions.

@author Peter Niederwieser
spock-core/src/main/java/org/spockframework/runtime/GlobalExtensionRegistry.java