public Shape getChildAllocation(int index, Shape a) {
		if (a != null) {
			Shape ca = getChildAllocationImpl(index, a);
			if ((ca != null) && (!isAllocationValid())) {
				// The child allocation may not have been set yet.
				Rectangle r = (ca instanceof Rectangle) ? (Rectangle) ca : ca
						.getBounds();
				if ((r.width == 0) && (r.height == 0)) {
					return null;
				}
			}
			return ca;
		}
		return null;
	}