static public function keyExists($value, $key, $message = null, $propertyPath = null)
        {
            static::isArray($value);

            if (!Arrays::exists($key, $value)) {
                $message = $message ?: sprintf(
                    'Array does not contain an element with key "%s"',
                    static::stringify($key)
                );

                throw static::createException($value, $message, static::INVALID_KEY_EXISTS, $propertyPath, array('key' => $key));
            }
        }