public boolean consume(char c) {
	if (!hasStarted && (c == '[')) {
	    hasStarted = true;
	    return true;
	}
	if (hasStarted && (c == ']')) {
	    done = true;
	    return true;
	}
	if (hasStarted && !elems.isEmpty() && (c == ',')) {
	    return true;
	}
	return false;
    }