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 ( ) ; }
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 .