if (log.isDebugEnabled()) {
log.debug("parsing " + stringSelection);
}
final ClientSelection clientSelection = new ClientSelection();
String [] selections = stringSelection.split(";");
int length = selections.length;
if (selections[length-1].length() == 1) {
clientSelection.setSelectionFlag(selections[length-1]);
length--;
}
for (int i = 0; i < length; i++) {
String range = selections[i];
if (range.length() != 0) {
String [] rng = range.split(",");
try {
int fi = Integer.parseInt(rng[0]);
int il = Integer.parseInt(rng[1]);
if (log.isDebugEnabled()) {
log.debug("Parsed range " + fi + " " + il);
}
clientSelection.addRange(new SelectionRange(fi, il));
} catch (NumberFormatException e) {
throw new ConverterException(e);
}
}