public OWLOntologyFormat parse(OWLOntologyDocumentSource documentSource, OWLOntology ontology) throws OWLParserException, IOException { OBOParser parser; if (documentSource.isReaderAvailable()) { parser = new OBOParser(documentSource.getReader()); } else if (documentSource.isInputStreamAvailable()) { parser = new OBOParser(documentSource.getInputStream()); } else { parser = new OBOParser(getInputStream(documentSource.getDocumentIRI())); } parser.setHandler(new OBOConsumer(getOWLOntologyManager(), ontology)); try { parser.parse(); } catch (ParseException e) { throw new OWLParserException(e, e.currentToken.beginLine, e.currentToken.beginColumn); } catch(TokenMgrError e) { throw new OWLParserException(e); } return new OBOOntologyFormat(); } }