docs: @Override
      public final void setSymbolTable(SymbolTable symbols)
          throws IOException
      {
          if (symbols == null || _Private_Utils.symtabIsSharedNotSystem(symbols)) {
              throw new IllegalArgumentException("symbol table must be local or system to be set, or reset");
          }
          if (getDepth() > 0) {
              throw new IllegalStateException("the symbol table cannot be set, or reset, while a container is open");
          }
          _symbol_table = symbols;
      }