public function save($args = array())
 {
     $db = Database::connection();
     parent::save();
     $db->executeQuery('delete from AreaPermissionBlockTypeAccessList where paID = ?', array($this->getPermissionAccessID()));
     $db->executeQuery('delete from AreaPermissionBlockTypeAccessListCustom where paID = ?', array($this->getPermissionAccessID()));
     if (is_array($args['blockTypesIncluded'])) {
         foreach ($args['blockTypesIncluded'] as $peID => $permission) {
             $v = array($this->getPermissionAccessID(), $peID, $permission);
             $db->executeQuery('insert into AreaPermissionBlockTypeAccessList (paID, peID, permission) values (?, ?, ?)', $v);
         }
     }
     if (is_array($args['blockTypesExcluded'])) {
         foreach ($args['blockTypesExcluded'] as $peID => $permission) {
             $v = array($this->getPermissionAccessID(), $peID, $permission);
             $db->executeQuery('insert into AreaPermissionBlockTypeAccessList (paID, peID, permission) values (?, ?, ?)', $v);
         }
     }
     if (is_array($args['btIDInclude'])) {
         foreach ($args['btIDInclude'] as $peID => $btIDs) {
             foreach ($btIDs as $btID) {
                 $v = array($this->getPermissionAccessID(), $peID, $btID);
                 $db->executeQuery('insert into AreaPermissionBlockTypeAccessListCustom (paID, peID, btID) values (?, ?, ?)', $v);
             }
         }
     }
     if (is_array($args['btIDExclude'])) {
         foreach ($args['btIDExclude'] as $peID => $btIDs) {
             foreach ($btIDs as $btID) {
                 $v = array($this->getPermissionAccessID(), $peID, $btID);
                 $db->executeQuery('insert into AreaPermissionBlockTypeAccessListCustom (paID, peID, btID) values (?, ?, ?)', $v);
             }
         }
     }
 }