@Beta
  public <U> void verifyAll(
    Object target,
    @DelegatesTo.Target
      Class<U> type,
    @DelegatesTo(genericTypeIndex = 0, strategy = Closure.DELEGATE_FIRST)
    @ClosureParams(SecondParam.FirstGenericType.class)
      Closure closure) {
    if (target != null && !type.isInstance(target)) {
      throw new SpockAssertionError(String.format("Expected target of 'verifyAll' block to have type '%s', but got '%s'",
        type, target.getClass().getName()));
    }
    verifyAll(target, closure);
  }
A combination of {@link #with(Object, Class, Closure)} and {@link #verifyAll(Closure)}.

@since 1.2
@param target an implicit target for conditions and/or interactions
@param type the expected type of the target
@param closure a code block containing top-level conditions and/or interactions
@param <U> type of target
spock-core/src/main/java/spock/lang/Specification.java