private Method returnTypeMethod(String name, Class<?> returnType, Class<?>... argTypes) {
		try {

			Method method = method(name, argTypes);
			Ghost<?> ghost = Ghost.me(method.getReturnType());
			if (ghost.openEyes().isPrimitive()) {
				if (Ghost.me(returnType).openEyes().wrapperClass() == ghost.openEyes().wrapperClass()) {
					return method;
				}
			}

			if (ghost.openEyes().isOf(returnType)) {
				return method;
			}

			throw new NoSuchMethodException();
		} catch (Exception e) {
			throw Lang.uncheck(e);
		}
	}