public static function validateMultiple($models, $attributeNames = null)
    {
        $promises = [];
        /* @var $model Model */
        foreach ($models as $model) {
            $promises[] = new Reaction\Promise\LazyPromise(function() use(&$model, $attributeNames) {
                return $model->validate($attributeNames);
            });
        }

        return Reaction\Promise\allInOrder($promises);
    }