/** * Create a Verse from a human readable string. The opposite of toString(), * Given any BitwisePassage v1, and the following * <code>DistinctPassage v2 = new BitwisePassage(v1.toString());</code> Then * <code>v1.equals(v2);</code> Theoretically, since there are many ways of * representing a BitwisePassage as text string comparison along the lines * of: <code>v1.toString().equals(v2.toString())</code> could be false. * Practically since toString() is standardized this will be true however. * We don't need to worry about thread safety in a ctor since we don't exist * yet. * * @param v11n * The Versification to which this Passage belongs. * @param refs * A String containing the text of the BitwisePassage * @param basis * The basis by which to interpret refs * @throws NoSuchVerseException * If the string is not parsable */ protected BitwisePassage(Versification v11n, String refs, Key basis) throws NoSuchVerseException { super(v11n, refs); store = new BitSet(v11n.maximumOrdinal() + 1); addVerses(refs, basis); }