### Question:
ObjectBuilder implements Builder<T> { public static <V> ObjectBuilder<V> fromGenericType(final Class<?> subclass, final Class<?> superclass) { return fromGenericType(subclass, superclass, 0); } private  ObjectBuilder(final Class<T> objectType); private  ObjectBuilder(final Class<T> objectType, final Object paramter); static ObjectBuilder<V> fromGenericType(final Class<?> subclass, final Class<?> superclass); static ObjectBuilder<V> fromGenericType(final Class<?> subclass, final Class<?> superclass, final int
      parameterIndex); static ObjectBuilder<V> forType(final Class<V> type); Class<T> getType(); ObjectBuilder<T> withParameter(final Object parameter); ObjectBuilder<T> andParameter(final Object parameter); ObjectBuilder<T> validatedBy(final Validator beanValidator); T build();  }### Answer:
@Test public void rawSuperclassFails() { assertThatIllegalStateException() .isThrownBy(() -> ObjectBuilder.fromGenericType(RawSubclass.class, GenericSuperclass.class, 0)); }
@Test public void unresolvableSuperclassFails() { assertThatIllegalStateException() .isThrownBy(() -> ObjectBuilder.fromGenericType(OuterClass.UnspecificSubclass.class, GenericSuperclass.class, 0)); }