protected function _traverseValue($value, $callable) { if ($value instanceof ExpressionInterface) { $callable($value); $value->traverse($callable); } }