public function PermissionColumns($JunctionTable = FALSE, $JunctionColumn = FALSE) {
      $Key = "{$JunctionTable}__{$JunctionColumn}";

      if (!isset($this->_PermissionColumns[$Key])) {
         $SQL = clone $this->SQL;
         $SQL->Reset();
         
         $SQL
            ->Select('*')
            ->From('Permission')
            ->Limit(1);

         if ($JunctionTable !== FALSE && $JunctionColumn !== FALSE) {
            $SQL
               ->Where('JunctionTable', $JunctionTable)
               ->Where('JunctionColumn', $JunctionColumn)
               ->Where('RoleID', 0);
         }

         $Cols = $SQL->Get()->FirstRow(DATASET_TYPE_ARRAY);
            
         unset($Cols['RoleID'], $Cols['JunctionTable'], $Cols['JunctionColumn'], $Cols['JunctionID']);
         
         $this->_PermissionColumns[$Key] = $Cols;
      }
      return $this->_PermissionColumns[$Key];
   }