@Override
    public Field move() {
        if (getTime() > Game.getInstance().getTime()) return null;

        super.move();
        if (isDrinking()) {
            returnTimer--;
            return null;
        }

        List<Comprised> items = getItems();
        if (items.isEmpty()) {
            HoboPathSearcher pathSearcher = new HoboPathSearcher(getField(), Bottle.class);
            Field result = pathSearcher.getHint();
            if (result == null && getField().getGameObject() instanceof Hobo) {
                return new PolicePathSearcher(getField(), GlassPoint.class).getHint();
            }
            return result;
        } else {
            HoboPathSearcher pathSearcher = new HoboPathSearcher(getField(), GlassPoint.class);
            return pathSearcher.getHint();
        }
    }