default <V> V getOrComputeIfAbsent(Class<V> type) {
    return getOrComputeIfAbsent(type, ReflectionUtil::newInstance, type);
  }
Get the object of type {@code type} that is present in this
{@code Store} (<em>keyed</em> by {@code type}); and otherwise invoke
the default constructor for {@code type} to generate the object,
store it, and return it.
<p>
This method is a shortcut for the following, where {@code X} is
the type of object we wish to retrieve from the store.

<pre style="code">
X x = store.getOrComputeIfAbsent(X.class, key -&gt; new X(), X.class);
// Equivalent to:
// X x = store.getOrComputeIfAbsent(X.class);
</pre>
<p>
See {@link #getOrComputeIfAbsent(Object, Function, Class)} for
further details.
<p>
If {@code type} implements {@link AutoCloseable}
the {@code close()} method will be invoked on the stored object when
the store is closed.

@param type the type of object to retrieve; never {@code null}
@param <V> the key and value type
@return the object; never {@code null}
@see #getOrComputeIfAbsent(Object, Function)
@see #getOrComputeIfAbsent(Object, Function, Class)
@see AutoCloseable
@since 2.4
spock-core/src/main/java/org/spockframework/runtime/extension/IStore.java