+ * @param pg
+ * the optional progress reporter
+ *
+ * @return the same {@link Story}, whose LUID may have changed
+ *
+ * @throws IOException
+ * in case of I/O error
+ */
+ public Story save(Story story, Progress pg) throws IOException {
+ return save(story, null, pg);
+ }
+
+ /**
+ * Save a {@link Story} to the {@link Library} -- the LUID <b>must</b> be
+ * correct, or NULL to get the next free one.
+ *
+ * @param story
+ * the {@link Story} to save
+ * @param luid
+ * the <b>correct</b> LUID or NULL to get the next free one
+ * @param pg
+ * the optional progress reporter
+ *
+ * @return the same {@link Story}, whose LUID may have changed