private function getKeyAndValueArguments($args)
{
if (count($args) == 1 && is_array($args[0])) {
$args = $args[0];
}
if (count($args) < 2) {
throw new InvalidArgumentException('Method needs at least two arguments: key and value');
}
$value = array_pop($args);
$keys = Arrays::toArray($args);
return array($keys, $value);
}