protected boolean checkOrAreEqual(final AnnotatedTypeMirror type1,final AnnotatedTypeMirror type2,final VisitHistory visited){
  if (visited.contains(type1,type2)) {
    return true;
  }
  final Boolean result=areEqual(type1,type2,visited);
  visited.add(type1,type2);
  return result;
}

protected boolean checkOrAreEqual ( final AnnotatedTypeMirror type1 , final AnnotatedTypeMirror type2 , final VisitHistory visited ) { if ( visited . contains ( type1 , type2 ) ) { return true ; } final Boolean result = areEqual ( type1 , type2 , visited ) ; visited . add ( type1 , type2 ) ; return result ; }
first check visited to see if type1 and type2 have been compared once already . if so return true ; otherwise compare them and add them to visited
