public function extracting()
{
$selectors = func_get_args();
$actual = array();
if (count($selectors) == 1) {
$selector = Arrays::first($selectors);
$actual = Arrays::map($this->actual, Functions::extractExpression($selector, true));
} else {
foreach ($this->actual as $item) {
$extracted = array();
foreach ($selectors as $selector) {
$extracted[] = Functions::call(Functions::extractExpression($selector, true), $item);
}
$actual[] = $extracted;
}
}
return self::that($actual);
}