public <T extends IdEObject> T create(Class<T> clazz) throws IfcModelInterfaceException { T object = model.create(clazz); if (object instanceof IfcRoot) { ((IfcRoot)object).setGlobalId(GuidCompressor.getNewIfcGloballyUniqueId()); if (defaultOwnerHistory != null) { ((IfcRoot)object).setOwnerHistory(defaultOwnerHistory); } } if (addOnCreate) { model.add(object.getOid(), object); } return object; }