Needs to be

		if (((fallbackMethods.isEmpty() && fallbackMessageMethods.isEmpty())
				 || ambiguousFallbackType.get() != null
				 ||	ambiguousFallbackMessageGenericType.get() != null)
				&& ServiceActivator.class.equals(annotationType)) {
			/*
			 * When no fallback methods, or they are ambiguous,
			 * a Service Activator can finally fallback to RequestReplyExchanger.exchange(m).
			 * Ambiguous means > 1 method that takes the same payload type (raw type or
			 * Message with same generic type).
			 */

Will fix during merge

Consider...

	private static class Foo implements RequestReplyExchanger {

		public String handleMessage(Message<String> message) {
			list.add(message.toString());
			return null;
		}

		@Override
		public Message<?> exchange(Message<?> request) {
			// TODO Auto-generated method stub
			return null;
		}
    }