@Override
    public boolean riseLotPrice(Lot lot, User user, int newPrice) {
        long requestId = this.findFreeKey(this.riseLotPriceStatuses);
        MsgRiseLotPrice msg = new MsgRiseLotPrice(this.address, this.ms.getAddressService().getAccountService(),requestId,lot,user,newPrice);
        this.riseLotPriceStatuses.put(requestId, false);
        this.ms.sendMessage(msg);
        while (!this.riseLotPriceStatuses.get(requestId)){
            try {
                Thread.sleep(10);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        boolean result = this.riseLotPriceResults.get(requestId);
        this.riseLotPriceResults.remove(requestId);
        this.riseLotPriceStatuses.remove(requestId);
        if (result){
            lot.risePrice(user, new Date(System.currentTimeMillis()), newPrice);
            MsgAddLotHistoryObject msgHist = new MsgAddLotHistoryObject(this.address, this.ms.getAddressService().getAuctionMechanics(),lot,new LotHistoryObjectImp(new Date(System.currentTimeMillis()), LotHistoryObject.Type.RISE_PRICE,user, String.valueOf(newPrice)));
            this.ms.sendMessage(msgHist);
        }
        return result;
    }