class SimpleOntologyValues {

    public static OWLAnnotation owlapiAnnotation(Annotation anno) {
        // TODO: ??? Fix this.
        if (anno == null) {
            return null;
        }
        OWLAnnotationProperty owlAnnoProperty = owlapiAnnotationProperty(anno.getProperty());
        Value value = anno.getValue();
        if (value instanceof IRI) {
            org.semanticweb.owlapi.model.IRI iri = owlapiIRI((IRI) value);
            return new OWLAnnotationImpl(owlAnnoProperty, iri, Stream.empty());
        } else if (value instanceof Literal) {
            OWLLiteral literal = owlapiLiteral((Literal) value);
            return new OWLAnnotationImpl(owlAnnoProperty, literal, Stream.empty());
        } else if (value instanceof SimpleIndividual) {
            OWLIndividual individual = owlapiIndividual((SimpleIndividual) value);
            return new OWLAnnotationImpl(owlAnnoProperty, (OWLAnonymousIndividual) individual, Stream.empty());
        } else {
            throw new MobiOntologyException("Invalid annotation value");
        }
    }

    public  SimpleOntologyValues();

}