Assumptions:
+ *
+ * - {@code resourcePath} names a classpath resource that resolves to a directory on the filesystem. The
+ * directory contains RMap objects serialized in N-Quads format. Each file contains one RMap object, and
+ * ends with an {@code .n4} file extension
+ * - The supplied {@code rdfHandler} is able to de-serialize N-Quad RDF
+ * - Each {@code RMapEvent} under {@code resourcePath} forms a connected graph, a requirement of the
+ * {@link IndexDTO}. That means that with every event, there ought to be an object for the agent, and at
+ * least one source and/or target disco.
+ *
+ *
+ * The {@code assertions} are applied on the deserialized objects prior to preparing the {@code IndexDTO} stream.
+ * The caller may use these assertions to verify the type, number, or contents of the RMap objects that have been
+ * deserialized from the filesystem.
+ *
+ *
+ * @param rdfHandler the RDFHandler capable of deserializing N-Quads
+ * @param resourcePath a classpath resource that is expected to resolve to a directory containing RDF serializations
+ * of RMap objects in N-Quad format. One RMap object per file.
+ * @param assertions caller-supplied assertions that are run on the de-serialized RDF prior to assembling
+ * {@code IndexDTO} objects
+ * @return a stream of {@code IndexDTO} objects
+ */
+ public static Stream prepareIndexableDtos(RDFHandler rdfHandler, String resourcePath,
+ Consumer