private void declareWinner(){
            System.out.println("All proposals received");
            AID best = proposals.get(0).getSender();
            for(ACLMessage proposal: proposals){
                String time = proposal.getContent().replaceFirst("bid\\(", "");
                time = time.replaceFirst(" sec\\)", "");
                String bestTimeString = 
                        proposal.getContent().
                            replaceFirst("bid\\(", "").
                            replaceFirst(" sec\\)", "");
                int bestTime = Integer.parseInt(bestTimeString);
                int propTime = Integer.parseInt(time);
                if (bestTime > propTime) {
                    best = proposal.getSender();
                }
            }
            sendMessage(best, "", ACLMessage.ACCEPT_PROPOSAL);
            Object[] ob = new Object[2];
            ob[0] = best;
            ob[1] = currentPartial;
            expectedReturn.add(ob);
            System.out.println("Accepting proposal from " + best.getLocalName());
            for(ACLMessage proposal: proposals){
                if(!proposal.getSender().equals(best)){
                    sendMessage(proposal.getSender(), "", ACLMessage.REJECT_PROPOSAL);
                }
            }
            proposals.clear();
            solvables.remove(0);
            if(!solvables.isEmpty()){
                
                auctionJob(solvables.get(0));
            }
        }