code: public static boolean isDescendant(TypeDef item, TypeDef candidate) {
          if (item == null || candidate == null) {
              return false;
          } else if (candidate.isAssignableFrom(item)) {
              return true;
          }
          return false;
      }
docs: Checks if a type is an descendant of an other type
  
  @param item      The base type.
  @param candidate The candidate type.
  @return true if candidate is a descendant of base type.