+
+ @Override
+ public Story clone() {
+ Story story = null;
+ try {
+ story = (Story) super.clone();
+ } catch (CloneNotSupportedException e) {
+ // Did the clones rebel?
+ System.err.println(e);
+ }
+
+ if (meta != null) {
+ story.meta = meta.clone();
+ }
+
+ if (chapters != null) {
+ story.chapters = new ArrayList<Chapter>();
+ for (Chapter chap : chapters) {
+ story.chapters.add(chap.clone());
+ }
+ }
+
+ return story;
+ }