protected function filterArguments(array $arguments)
{
$options = array();
$argc = count($arguments);
if ($argc > 2 && is_array($arguments[$argc - 1])) {
$options = $this->prepareOptions(array_pop($arguments));
}
if (is_array($arguments[1])) {
$arguments = array_merge(array($arguments[0], count($arguments[1])), $arguments[1]);
}
return array_merge($arguments, $options);
}