diff --git a/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java b/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java
index d2a90a915..57cb445fe 100644
--- a/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java
+++ b/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java
@@ -40,7 +40,8 @@ import rx.Observable;
import rx.Single;
/**
- * Conversion support for reactive wrapper types. This class is a reactive extension to {@link QueryExecutionConverters}.
+ * Conversion support for reactive wrapper types. This class is a reactive extension to
+ * {@link QueryExecutionConverters}.
*
* This class discovers reactive wrapper availability and their conversion support based on the class path. Reactive
* wrapper types might be supported/on the class path but conversion may require additional dependencies.
@@ -208,13 +209,35 @@ public class ReactiveWrapperConverters {
throw new IllegalStateException(String.format("Cannot apply converter to %s", stream));
}
+ // -------------------------------------------------------------------------
+ // Wrapper descriptors
+ // -------------------------------------------------------------------------
+
+ /**
+ * Wrapper descriptor that can apply a {@link Converter} to map (convert) items inside its stream.
+ *
+ * @author Mark Paluch
+ */
private interface AbstractReactiveWrapper {
+ /**
+ * @return the wrapper class.
+ */
Class super T> getWrapperClass();
+ /**
+ * Apply a {@link Converter} to a reactive type.
+ *
+ * @param wrapper the reactive type, must not be {@literal null}.
+ * @param converter the converter, must not be {@literal null}.
+ * @return the reactive type applying conversion.
+ */
Object map(Object wrapper, Converter