public Boolean isBookLoaded(Book book) {
   if (!bookSet.containsKey(book.getID())) {
     android.util.Log.i(
         TAG,
         String.format(
             "Book %1$s was not loaded to a book repository", book == null ? "" : book.getID()));
     return false;
   }
   return true;
 }
  public Chapter loadChapter(Book book, Integer chapterNumber, BufferedReader bReader) {

    ArrayList<Integer> verseNumbers = new ArrayList<Integer>();
    ArrayList<Verse> verseList = new ArrayList<Verse>();

    ArrayList<String> lines = new ArrayList<String>();
    try {
      String str;
      int currentChapter = book.getModule().ChapterZero ? 0 : 1;
      String chapterSign = book.getModule().ChapterSign;
      boolean chapterFind = false;
      while ((str = bReader.readLine()) != null) {
        if (str.toLowerCase().contains(chapterSign)) {
          if (chapterFind) {
            // Тег начала главы может быть не вначале строки.
            // Возьмем то, что есть до теги начала главы и добавим
            // к найденным строкам
            str = str.substring(0, str.toLowerCase().indexOf(chapterSign));
            if (str.trim().length() > 0) {
              lines.add(str);
            }
            break;
          } else if (currentChapter++ == chapterNumber) {
            chapterFind = true;
            // Тег начала главы может быть не вначале строки.
            // Обрежем все, что есть до теги начала главы и добавим
            // к найденным строкам
            str = str.substring(str.toLowerCase().indexOf(chapterSign));
          }
        }
        if (!chapterFind) {
          continue;
        }

        lines.add(str);
      }
    } catch (IOException e) {
      Log.e(TAG, String.format("loadChapter(%1$s, %2$s)", book.getID(), chapterNumber), e);
      return null;
    }

    String verseSign = book.getModule().VerseSign;
    int i = -1;
    for (String currLine : lines) {
      if (currLine.toLowerCase().contains(verseSign)) {
        i++;
        verseList.add(new Verse(i, currLine));
        verseNumbers.add(i);
      } else if (verseList.size() > 0) {
        verseList.set(i, new Verse(i, verseList.get(i).getText() + " " + currLine));
      }
    }

    return new Chapter(book, chapterNumber, verseNumbers, verseList);
  }