if (c == '[' || c == '(') {
includeMin = (c == '[');
pos = copyEscaped(versionRange, ++pos, ",)]", sb);
if (pos >= top)
throw new IllegalArgumentException(NLS.bind(Messages.premature_EOS_0, versionRange));
pos = copyEscaped(versionRange, pos, ")]", sb);
if (pos >= top)
throw new IllegalArgumentException();
} else {
StringBuffer sbMin = new StringBuffer();
pos = copyEscaped(versionRange, pos, rawPrefix ? "/" : null, sbMin);
includeMin = includeMax = true;
minStr = sbMin.toString();
copyEscaped(versionRange, pos, ",])", sb);
origMin = sb.toString();
} else {
pos = copyEscaped(versionRange, pos, ",])", sb);
if (pos >= top)
throw new IllegalArgumentException(NLS.bind(Messages.premature_EOS_0, versionRange));
pos = copyEscaped(versionRange, pos, "])", sb);
if (origUseIncDelims) {
if (pos >= top)