### Question:
WrappedTypeElement extends AbstractWrappedElement { public WrappedTypeElement findDirectSuperclassOf(Class<?> type) { WrappedTypeElement superclass = superclass(); if(superclass.isOfType(type)) { return superclass; } else { return null; } } WrappedTypeElement(TypeElement element, WrappedDeclaredType type, TypeMirrorWrapper typeWrapper, 
			MessagerLoggerFactory loggerFactory, Elements elements, ElementWrapper wrapper, Types types); List<MethodElement> methodsRecursively(MethodElementFilter filter); List<SetterElement> looseSetters(SetterElementFilter filter); WrappedTypeElement findDirectSuperclassOf(Class<?> type); String qName(); String binaryName(); boolean isAssignableTo(Class<?> type); boolean isOfType(Class<?> type); @Override boolean equals(Object other); @Override int hashCode(); boolean isNotConcreteClass(); boolean isConcreteClass(); WrappedTypeElement firstTypeArgument();  }### Answer:
@Test public void shouldFoundDirectSuperclassOfParentClass() { assertThat(klassTypeElement.findDirectSuperclassOf(ParentClass.class), notNullValue()); }
@Test public void shouldNotFoundDirectSuperclassOfObject() { assertThat(klassTypeElement.findDirectSuperclassOf(Object.class), nullValue()); }