public function duplicate($newPA = false)
 {
     $newPA = parent::duplicate($newPA);
     $db = Database::connection();
     $r = $db->executeQuery('select * from AreaPermissionBlockTypeAccessList where paID = ?', array($this->getPermissionAccessID()));
     while ($row = $r->FetchRow()) {
         $v = array($row['peID'], $newPA->getPermissionAccessID(), $row['permission']);
         $db->executeQuery('insert into AreaPermissionBlockTypeAccessList (peID, paID, permission) values (?, ?, ?)', $v);
     }
     $r = $db->executeQuery('select * from AreaPermissionBlockTypeAccessListCustom where paID = ?', array($this->getPermissionAccessID()));
     while ($row = $r->FetchRow()) {
         $v = array($row['peID'], $newPA->getPermissionAccessID(), $row['btID']);
         $db->executeQuery('insert into AreaPermissionBlockTypeAccessListCustom  (peID, paID, btID) values (?, ?, ?)', $v);
     }
     return $newPA;
 }