public function __construct(array $observables, callable $resultSelector = null)
{
if (null === $resultSelector) {
$resultSelector = function () {
return func_get_args();
};
}
foreach ($observables as $observable) {
if (!$observable instanceof ObservableInterface) {
throw new \InvalidArgumentException();
}
}
$this->observables = $observables;
$this->resultSelector = $resultSelector;
}