/** {@inheritDoc} */
  @Override
  public int hashCode() {
    if (classAnnotations == null) {
      return 0;
    }

    return classAnnotations.hashCode();
  }
 @Override
 public int hashCode() {
   // If the item has a single parent, we can use the re-use the identity (hash) of that parent
   TypeIdItem parentType = getParentType();
   if (parentType != null) {
     return parentType.hashCode();
   }
   if (classAnnotations != null) {
     return classAnnotations.hashCode();
   }
   return 0;
 }
 @Override
 public int hashCode() {
   return method.hashCode() + 31 * annotationSet.hashCode();
 }