Since 2.4 we have: public interface MessageSupplier {
/** * Gets a Message. * * @return a Message */ Message get(); } and public interface Supplier<T> { /** * Gets a value. * * @return a value */ T get(); } Which smells fishy to me. Instead I propose: public interface MessageSupplier extends Supplier<Message> { // empty } Whether or not we do the above, we can replace: traceExit(R, Supplier<? extends Message>) with: traceExit(R, MessageSupplier) which we already have. A test search shows the above as the only instance of "Supplier<? extends Message>" in our Java files. Thoughts? -- E-Mail: garydgreg...@gmail.com | ggreg...@apache.org Java Persistence with Hibernate, Second Edition <http://www.manning.com/bauer3/> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> Spring Batch in Action <http://www.manning.com/templier/> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory