public Snapshotter wrappedAs(Wrapper wrapper) {
    Checks.notNull(wrapper, () -> "wrapper is null");
    this.wrapper = wrapper;
    return this;
  }
Declares a {@link Wrapper} for wrapping and unwrapping of the reference value.
<p>
It is suggested that users create subclasses of {@link Snapshotter} with common wrapped types,
instead of using this method directly.
spock-core/src/main/java/spock/lang/Snapshotter.java