protected static function _compile(array $fields, array $locked, array $excluded)
{
$string = static::$_classes['string'];
sort($fields, SORT_STRING);
ksort($locked, SORT_STRING);
sort($excluded, SORT_STRING);
foreach (array('fields', 'excluded', 'locked') as $list) {
${$list} = urlencode(serialize(${$list}));
}
$hash = $string::hash($fields);
$signature = static::_signature("{$locked}::{$excluded}::{$hash}");
return "{$locked}::{$excluded}::{$signature}";
}