code: private final boolean checkTrailBlock(int currentValue)
      {
          // enumerate code points for this lead surrogate
          while (m_nextTrailIndexOffset_ < TRAIL_SURROGATE_INDEX_BLOCK_LENGTH_)
          {
              // if we ever reach here, we are at the start of a new block
              m_nextBlockIndex_ = 0;
              // copy of most of the body of the BMP loop
              if (!checkBlock(currentValue)) {
                  return false;
              }
              m_nextTrailIndexOffset_ ++;
              m_nextIndex_ ++;
          }
          return true;
      }
docs: Internal block value calculations
  Performs calculations on multiple data blocks for a set of trail
  surrogates to find codepoints in m_nextBlock_ that has the same value.
  Will call checkBlock() for internal block checks.
  Note m_*_ variables at this point is the next codepoint whose value
  has not been calculated.
  @param currentValue the value which other codepoints are tested against
  @return true if the whole block has the same value as currentValue or if
  the whole block has been calculated, false otherwise.