@Override
    public String unwrap(String value) {
      Checks.notNull(value, () -> "value is null");
      // check if unwrapping is possible
      if (!value.startsWith(prefix) || !value.endsWith(suffix)) {
        System.err.printf("Cannot unwrap because prefix matches=%s, prefix matches=%s%n", value.startsWith(prefix), value.endsWith(suffix));
        return value;
      }
      return value.substring(prefix.length(), value.length() - suffix.length());
    }
Allows to specify a custom matcher for the snapshot.
<p>
This is useful when comparing json or similar, which have less strict equality rules.

@param snapshotId      the id of the snapshot to use. In case of multiple snapshots per test, this allows to distinguish them.
@param snapshotMatcher a custom matcher for the snapshot, which is called with the snapshot value and the actual value.
                       The matcher must throw an {@link AssertionError} if the values don't match.
spock-core/src/main/java/spock/lang/Snapshotter.java