@Override
	public boolean isValid(GObject target, Context context) {
		Rectangle2D box = target.getTransformedBoundingShape().getBounds2D();
		GObject parent = target.getParent();
		if (parent == null) {
			return false;
		}
		boolean verticalInvalid = validateVertical
				&& (box.getY() < 0 || box.getY() + box.getHeight() > parent
						.getHeight());
		boolean horizontalInvalid = validateHorizontal
				&& (box.getX() < 0 || box.getX() + box.getWidth() > parent
						.getWidth());
		return verticalInvalid || horizontalInvalid;
	}