private static function validateConfig(array $config)
    {
        if (isset($config['name']) === false) {
            throw new BadUse('there\'s no name in mapping configuration');
        }
        if (isset($config['schema']) === false) {
            throw new BadUse('there\'s no schema in mapping configuration');
        }
        if (isset($config['provider']) === false) {
            throw new BadUse('there\'s no provider in mapping configuration');
        }
        if (isset($config['models']) === false) {
            throw new BadUse('there\'s no models in mapping configuration');
        }
        if (isset($config['models']['path']) === false) {
            throw new BadUse('there\'s no models.path in mapping configuration');
        }
        if (isset($config['models']['namespace']) === false) {
            throw new BadUse('there\'s no models.namespace in mapping configuration');
        }
    }