private void checkWallCollisions()
    {

        // X coords
        if (getPosX() - getRadius() < 0 && getVelocityX() < 0)
        {
            getVelocity().setX(getVelocity().getX() * -1);
            setVelocity(getVelocity().times(GameSettings.WALL_BOUNCINESS));

        } else if (getPosX() + getRadius() > GameSettings.PHYSICS_BOX_WIDTH
                && getVelocityX() > 0)
        {
            getVelocity().setX(getVelocity().getX() * -1);
            setVelocity(getVelocity().times(GameSettings.WALL_BOUNCINESS));
        }

        // Y coords
        if (getPosY() - getRadius() < 0 && getVelocityY() < 0)
        {
            getVelocity().setY(getVelocity().getY() * -1);
            setVelocity(getVelocity().times(GameSettings.WALL_BOUNCINESS));

        }

        // This is the floor, where we need to deal with letting gumballs
        // come to rest.
        else if (getPosY() + getRadius() > GameSettings.PHYSICS_BOX_HEIGHT
                && getVelocityY() > 0)
        {
            if (getVelocity().getMagnitude() < GameSettings.VELOCITY_CUTOFF)
            {
                setPosY(GameSettings.PHYSICS_BOX_HEIGHT - getRadius());
                setVelocity(new Vector2d());
            } else
            {
                getVelocity().setY(_velocity.getY() * -1);
                setVelocity(getVelocity().times(GameSettings.FLOOR_BOUNCINESS));
            }
        }
    }