return supertypes;
}
@Override
public List<DataTypeReference> getSubtypes() {
ArrayList<DataTypeReference> subtypes = new ArrayList<DataTypeReference>();
<BUG>String myClassName = this.typeDefinition.getQualifiedName().toString();
for (TypeDefinition td : this.typeDefinition.getContext().getTypeDefinitions()) {
if (td instanceof ObjectTypeDefinition) {
TypeMirror superclass = td.getSuperclass();
if (superclass instanceof DeclaredType && (((TypeElement) ((DeclaredType) superclass).asElement()).getQualifiedName().toString().equals(myClassName))) {</BUG>
subtypes.add(new DataTypeReferenceImpl(JsonTypeFactory.getJsonType(td.asType(), this.typeDefinition.getContext())));

return supertypes;
}
@Override
public List<DataTypeReference> getSubtypes() {
ArrayList<DataTypeReference> subtypes = new ArrayList<DataTypeReference>();
for (TypeDefinition td : this.typeDefinition.getContext().getTypeDefinitions()) {
if (td instanceof ObjectTypeDefinition && !td.getQualifiedName().contentEquals(this.typeDefinition.getQualifiedName()) && ((DecoratedTypeMirror)td.asType()).isInstanceOf(this.typeDefinition)) {
