@Override public boolean isInstanceOf(final Type obj, final InheritanceProvider inheritanceProvider) { if (this == obj) return true; if (!(obj instanceof ObjectType)) return false; final ObjectType that = (ObjectType) obj; return this.equals(that) || that.getClassName().equals("java/lang/Object") || inheritanceProvider.getParentsOf(this.className).contains(that.getClassName()); }