protected Object doMapping(Object src, Class targetClass, MappingConfig config) {
            Object newObj = null;
            if (config.convertor != null) {
                if (config.componentClasses != null && config.convertor instanceof CollectionConvertor) {
                    newObj = ((CollectionConvertor) config.convertor).convertCollection(null, src, targetClass,
                                                                                        config.componentClasses); // 处理递归嵌套
                } else {
                    newObj = config.convertor.convert(src, targetClass);
                }

            } else {
                if (config.isMap) {
                    newObj = createMap(targetClass);
                    ((Map) newObj).putAll((Map) src);
                } else {
                    newObj = ReflectionHelper.newInstance(targetClass);
                    if (config.beanMapping != null) {
                        config.beanMapping.mapping(src, newObj);
                    } else if (config.beanCopy != null) {
                        config.beanCopy.copy(src, newObj);
                    } else if (config.beanMap != null) {
                        if (config.populate) {
                            config.beanMap.populate(newObj, (Map) src);
                        } else {
                            newObj = config.beanMap.describe(src);
                        }
                    }
                }
            }

            return newObj;
        }