+ * Create a new transaction chain. The chain will be initialized to read from its backing datastore, with
+ * no outstanding transaction.
+ *
+ * <p>
+ * Unlike {@link #createTransactionChain()}, the transaction chain returned by this method is allowed to merge
+ * individual transactions into larger chunks. When transactions are merged, the results must be indistinguishable
+ * from the result of all operations having been performed on a single transaction.
+ *
+ * <p>
+ * When transactions are merged, {@link DOMTransactionChain#newReadOnlyTransaction()} may actually be backed by
+ * a read-write transaction, hence an additional restriction on API use is that multiple read-only transactions
+ * may not be open at the same time.
+ *
+ * @return A new transaction chain.