code: public static Type getExactReturnType(Method m, Type type)
  	{
  		Type returnType = m.getGenericReturnType();
  		Type exactDeclaringType = getExactSuperType(capture(type), m.getDeclaringClass());
  		return mapTypeParameters(returnType, exactDeclaringType);
  	}
docs: Returns the exact return type of the given method in the given type. This
  may be different from <tt>m.getGenericReturnType()</tt> when the method
  was declared in a superclass, of <tt>type</tt> is a raw type.