code: public Iterator<String> getBshIterator(final Character obj) {
          Integer value = Integer.valueOf(obj.charValue());
          int check = 33, start = 0;
          for (int i : unicodeBlockStarts) if (check <= value) {
              start = check;
              check = i;
          } else break;
          return IntStream.rangeClosed(start, value).boxed()
                  .map(Character::toChars)
                  .map(String::valueOf).iterator();
      }
docs: Gets iterator for character range from highest unicode block set starting position.
  Range from highest starting position which is less than supplied value code point.
  @param obj the top of the character range
  @return the bsh iterator