//This is because when there are multiple values in the arraylist
//they appear like [foo=bar:baz=baz1] so need to remove the braces
String unbracedString = propsString.substring(propsString.indexOf('[')+1);
ParamTokenizer stoken = new ParamTokenizer(unbracedString, sep);
while (stoken.hasMoreTokens()) {
String token = stoken.nextTokenKeepEscapes();
final ParamTokenizer nameTok = new ParamTokenizer(token, '=');
String name = null, value = null;
if (nameTok.hasMoreTokens())
name = nameTok.nextToken();
if (nameTok.hasMoreTokens())
value = nameTok.nextToken();
if (nameTok.hasMoreTokens() || name == null || value == null)
throw new IllegalArgumentException("TODO : i18n : Invalid property syntax." + propsString);
//strings.getLocalString("InvalidPropertySyntax",
// "Invalid property syntax.", propsString));
int index = value.indexOf(']');