StringBuffer sb = new StringBuffer();
for (int x = _textStart; x < _textEnd; x++)
{
TextPiece piece = (TextPiece)_text.get(x);
int start = _start > piece.getStart() ? _start - piece.getStart() : 0;
int end = _end <= piece.getEnd() ? _end - piece.getStart() : piece.getEnd() - piece.getStart();
if(piece.usesUnicode()) // convert the byte pointers to char pointers
{
start/=2;
end/=2;
}
sb.append(piece.getStringBuffer().substring(start, end));
}
return sb.toString();
}