private void parseDims(String layout) {
			for (int i = 0, level = -1; i < layout.length(); i++) {
				char c = layout.charAt(i);
				switch (c) {
				case LB:
					if (level == dims.length - 1) {
						throw new UnsupportedOperationException(
								"Can only handle arrays with length "
										+ dims.length);
					}
					if (i > 0 && layout.charAt(i - 1) == LB) {
						dims[level]++;
					}
					dims[++level] = 0;
					break;
				case RB:
					level--;
					break;
				case SEP:
					dims[level]++;
					break;
				default:
					if (dims[level] == 0) {
						dims[level]++;
					}
				}
			}
			if (debug) {
				System.out.println("dims :" + Arrays.toString(dims));
			}
		}