docs: @Override
      public void delete() {
          if (deletionAllowed()) {
              //Force load of linked concepts whose caches need to be updated
              T superConcept = cachedSuperType.get();
  
              deleteNode();
  
              //Update neighbouring caches
              SchemaConceptImpl.from(superConcept).deleteCachedDirectedSubType(getThis());
  
              //clear rule cache
              vertex().tx().ruleCache().clear();
          } else {
              throw TransactionException.cannotBeDeleted(this);
          }
      }