+
+ @Override
+ public MetaData clone() {
+ MetaData meta = null;
+ try {
+ meta = (MetaData) super.clone();
+ } catch (CloneNotSupportedException e) {
+ // Did the clones rebel?
+ System.err.println(e);
+ }
+
+ if (tags != null) {
+ meta.tags = new ArrayList<String>();
+ meta.tags.addAll(tags);
+ }
+ if (resume != null) {
+ meta.resume = new Chapter(resume.getNumber(), resume.getName());
+ for (Paragraph para : resume) {
+ meta.resume.getParagraphs().add(para);
+ }
+ }
+
+ return meta;
+ }