@SuppressWarnings("rawtypes")
	protected Object createDataNode(Class<?> root, Object parent, String field) {
		Class<?> pclass = parent.getClass(), clz;
		try {
			if (List.class.isAssignableFrom(pclass)) {
				return new Data();
			}
			if (Map.class.isAssignableFrom(pclass)) {
				return new Data();
			}
			clz = pclass.getField(field).getType();
			if (clz == Map.class || clz == HashMap.class) {
				return new Data();
			}
			if (clz == List.class || clz == ArrayList.class) {
				return createArrayNode();
			}
		} catch (Exception e) {
			return null;
		}
		return StrongBeanFactory.get(clz);
	}