private void checkSignature(ClassExpression desc) { if (desc instanceof OClass) { OClass cl = (OClass) desc; if (!vocabulary.concepts.containsKey(cl.getName())) throw new IllegalArgumentException(CLASS_NOT_FOUND + desc); } else if (desc instanceof ObjectSomeValuesFrom) { checkSignature(((ObjectSomeValuesFrom) desc).getProperty()); } else { assert (desc instanceof DataSomeValuesFrom); checkSignature(((DataSomeValuesFrom) desc).getProperty()); } }