private boolean equals(Object proxy,Object[] list) throws Throwable {
  Annotation left=(Annotation)proxy;
  Annotation right=(Annotation)list[0];
  if (left.annotationType() != right.annotationType()) {
    throw new PersistenceException("Annotation %s is not the same as %s",left,right);
  }
  return comparer.equals(left,right);
}

private boolean equals ( Object proxy , Object [ ] list ) throws Throwable { Annotation left = ( Annotation ) proxy ; Annotation right = ( Annotation ) list [ 0 ] ; if ( left . annotationType ( ) != right . annotationType ( ) ) { throw new PersistenceException ( "Annotation %s is not the same as %s" , left , right ) ; } return comparer . equals ( left , right ) ; }
this is used to determine if two annotations are equals based on the attributes of the annotation . the comparison done can ignore specific attributes , for instance the name attribute .
