@SuppressWarnings("unchecked")
	public static Object getInstance(Object delegate) throws Exception {
		XAWrapperHandler handler = new XAWrapperHandler();
		Object obj = handler.createProxy(delegate);
		if (obj != null) {
			Field[] services = obj.getClass().getFields();
			for (Field service : services) {
				if (service.isAnnotationPresent((Class<? extends Annotation>) delegate.getClass().getClassLoader().loadClass("com.ybase.bas.annotation.Service"))) {
					try {
						service.setAccessible(true);
						String clzName = convertImplPackage(service.getType().getCanonicalName());
						service.set(obj, Class.forName(clzName).newInstance());
					} catch (Exception e) {
						throw e;
					}
				}
			}
		}
		return obj;
	}