diff --git a/spring-integration-core/src/main/java/org/springframework/integration/message/RetrievalBlockingMessageStore.java b/spring-integration-core/src/main/java/org/springframework/integration/message/RetrievalBlockingMessageStore.java
index 79265317d7..a0a60b5d93 100644
--- a/spring-integration-core/src/main/java/org/springframework/integration/message/RetrievalBlockingMessageStore.java
+++ b/spring-integration-core/src/main/java/org/springframework/integration/message/RetrievalBlockingMessageStore.java
@@ -24,6 +24,8 @@ import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.TimeUnit;
+import org.springframework.util.Assert;
+
/**
* A {@link MessageStore} implementation whose get and
* remove methods block until a message is available.
@@ -32,7 +34,9 @@ import java.util.concurrent.TimeUnit;
*
* @author Mark Fisher
*/
-public class RetrievalBlockingMessageStore extends SimpleMessageStore implements MessageStore {
+public class RetrievalBlockingMessageStore implements MessageStore {
+
+ private final MessageStore targetMessageStore;
private final ConcurrentMap