pos = offset; }
for (index = 0; index < text_decomposition.length; index++) { if (offset <= text_indexes[index]) break; }  if (text_indexes[index] == offset) textIndex = offset; else textIndex = text_indexes[index-1]; }
setOffset(int offset){  if (offset < 0)    throw new IllegalArgumentException("Negative offset: " + offset);  if ((str.length() > 0) && (offset > 0))    throw new IllegalArgumentException("Offset too large: " + offset);  else if (offset > (str.length() - 1))    throw new IllegalArgumentException("Offset too large: " + offset);  pos = offset;}    