public void fixResolvedClasses() {
    for (Concept con : model.getConcepts()) {
      if (con.getResolvedAs() != Concept.Resolution.NONE) {
        if (con.getChosenProperties().size() > 0) {
          // This is very likely an extension/restriction of the original concept, so we need to
          // redefine it
          String extPack = model.getDefaultPackage() + "." + con.getPackage();
          model.removeConcept(con);
          Concept original = con.clone();
          original.getSubConcepts().clear();
          original.getSubConcepts().add(con);
          con.getSuperConcepts().clear();
          con.addSuperConcept(original);
          con.setChosenSuperConcept(original);
          con.setPackage(extPack);

          URI xuri = NameUtils.packageToNamespaceURI(extPack);
          con.setNamespace(xuri.toASCIIString());
          con.setIri(IRI.create(NameUtils.separatingName(xuri.toASCIIString()) + con.getName()));

          model.addConcept(con);
          model.addConcept(original);
        }
      }
    }
  }