@Override protected Object getValueKey(Object value) { OWLAnnotation annotation = null; if (value instanceof OWLAnnotationAssertionAxiom) { OWLAnnotationAssertionAxiom axiom = (OWLAnnotationAssertionAxiom) value; if (axiom.getAnnotations().isEmpty()) { return axiom.getAnnotation(); } else { return axiom; } } else if (value instanceof AbstractAnnotationsList.AnnotationsListItem) { annotation = ((AbstractAnnotationsList.AnnotationsListItem) value).getAnnotation(); } else if (value instanceof OWLAnnotation) { annotation = (OWLAnnotation) value; } return annotation; }