setStackingViolation(true);
    public boolean checkIllegal(final Game game, final Entity entity) {        final Hex destHex = game.board.getHex(getPosition());        // skip steps that are not the last step        if (getMovementType() == Entity.MOVE_ILLEGAL) {            return true;        }        // check for stacking violations        final Entity violation = Compute.stackingViolation(game, entity.getId(), getPosition());        if (violation != null && getType() != MovePath.STEP_CHARGE && getType() != MovePath.STEP_DFA) {            // can't move here            setMovementType(Entity.MOVE_ILLEGAL);            return true;        }        // Check again for illegal terrain, in case of jumping. We're        // allowed to enter prohibited terrain via a road or bridge.        if (entity.isHexProhibited(destHex) && !isPavementStep()) {            setMovementType(Entity.MOVE_ILLEGAL);            return true;        }        if (parent.isJumping()) {            Coords start = entity.getPosition();            Coords land = getPosition();            if (start.distance(land) == 0) {                setMovementType(Entity.MOVE_ILLEGAL);                return true;            }        }        return false;    }