public static void checkIsRunnableSpec(Class<?> clazz) {
    checkIsSpec(clazz);

    if (Modifier.isAbstract(clazz.getModifiers()))
      throw new InvalidSpecException("Specification '%s' is not runnable because it is declared abstract")
          .withArgs(clazz.getName());
  }
Checks if the given class is a Spock specification (according to <tt>isSpec()</tt>),
and throws an <tt>InvalidSpecException</tt> with a detailed explanation if it is not.
spock-core/src/main/java/org/spockframework/runtime/SpecUtil.java