docs: @SuppressWarnings({"unchecked"})
      @Nullable
      @Override
      public DataType<D> dataType() {
          String className = vertex().property(Schema.VertexProperty.DATA_TYPE);
          if (className == null) return null;
  
          try {
              return (DataType<D>) DataType.of(Class.forName(className));
          } catch (ClassNotFoundException e) {
              throw TransactionException.unsupportedDataType(className);
          }
      }