protected static Method findSetter(String name, Class<?> type,
				Class<?> self) {

			if (name == null || name.trim().isEmpty()) {
				return null;
			}

			Method[] methods = self.getDeclaredMethods();
			for (Method method : methods) {

				if (!method.getName().equals(name)) {
					continue;
				}

				Class<?>[] parameters = method.getParameterTypes();
				if (parameters.length != 1) {
					continue;
				}

				if (ClassUtils.isAssignable(parameters[0], type)) {

					return method;
				}
			}

			return null;
		}