Index: BibleInfo.java =================================================================== --- BibleInfo.java (revision 2163) +++ BibleInfo.java (working copy) @@ -22,7 +22,9 @@ package org.crosswire.jsword.versification; import java.io.PrintStream; +import java.util.ArrayList; import java.util.EnumSet; +import java.util.List; import org.crosswire.jsword.JSMsg; import org.crosswire.jsword.JSOtherMsg; @@ -234,7 +236,7 @@ // Therefore, subtract 2 instead of 1 int lastBook = ORDINAL_AT_START_OF_BOOK.length - 2; // for (BibleBook book : BibleBook.values()) { - for (BibleBook book: EnumSet.range(BibleBook.GEN, BibleBook.REV)) { + for (BibleBook book: defaultRange) { int b = book.ordinal(); if (b <= lastBook && ordinal >= ORDINAL_AT_START_OF_BOOK[b] && ordinal < ORDINAL_AT_START_OF_BOOK[b + 1]) { int cib = BibleInfo.chaptersInBook(book); @@ -814,6 +816,14 @@ */ static final BibleInfo instance = new BibleInfo(); + private static List defaultRange; + static { + defaultRange = new ArrayList(); + for (BibleBook bibleBook : EnumSet.range(BibleBook.GEN, BibleBook.REV)) { + defaultRange.add(bibleBook); + } + } + /** * This is the code used to create ORDINAL_AT_START_OF_CHAPTER and * ORDINAL_AT_START_OF_BOOK. It is usually commented out because I don't see