docs: public final Table getSystemTable(Session session, String name) {
  
          Table t;
          int   tableIndex;
  
          // must come first...many methods depend on this being set properly
          this.session = session;
  
          if (!isSystemTable(name)) {
              return null;
          }
  
          tableIndex = getSysTableID(name);
          t          = sysTables[tableIndex];
  
          // fredt - any system table that is not supported will be null here
          if (t == null) {
              return t;
          }
  
          // At the time of opening the database, no content is needed
          // at present.  However, table structure is required at this
          // point to allow processing logged View defn's against system
          // tables.  Returning tables without content speeds the database
          // open phase under such cases.
          if (!withContent) {
              return t;
          }
  
          if (isDirty) {
              cacheClear();
          }
  
          HsqlName oldUser    = sysTableSessions[tableIndex];
          boolean  tableValid = oldUser != null;
  
          // user has changed and table is user-dependent
          if (session.getGrantee().getName() != oldUser
                  && sysTableSessionDependent[tableIndex]) {
              tableValid = false;
          }
  
          if (nonCachedTablesSet.contains(name)) {
              tableValid = false;
          }
  
          // any valid cached table will be returned here
          if (tableValid) {
              return t;
          }
  
          // fredt - clear the contents of table and set new User
          t.clearAllData(session);
  
          sysTableSessions[tableIndex] = session.getGrantee().getName();
  
          // match and if found, generate.
          t = generateTable(tableIndex);
  
          // t will be null at this point if the implementation
          // does not support the particular table.
          //
          // send back what we found or generated
          return t;
      }