docs: public void free()
      {
          this.setPDatabaseParent(null); // Remove from database
          
          Object[] keys = m_htTableList.keySet().toArray();
          for (int i = 0; i < keys.length; i++)
          { 
              Object key = keys[i];
              PTable pTable = m_htTableList.get(key);
              if (pTable != null)
                  pTable.free();      // This can be dangerous if the PhysicalTables still have references to the PTables
          } 
          m_htTableList.clear();
          m_htTableList = null;
          this.close();
      }