public boolean equals(Object obj){
		if(obj == null){
			return false;
		}
		if(obj == this){
			return true;
		}
		if(!(obj instanceof IAnnotation<?>)){
			return false;
		}
		else{
			IAnnotation<?> ann = (IAnnotation<?>) obj;
			if(!(ann.getAnnotation().getClass() == this.getAnnotation().getClass())){
				return false;
			}
			else {
				if(ann.getAnnotation().equals(this.getAnnotation())){
					return true;
				}
			}
		}
		return false;
	}