private void sendProposal() {
        if (allPlaces.isEmpty()) {            
            logger.log(Level.INFO, (teacherSymbol + ": search new place, allPlaces is empty"));
            sendRejectProposal();
            myAgent.removeBehaviour(this);
            return;
        }
        
        Place place = allPlaces.get(0);
        if(place.getDAY() == this.oldDay && place.getTIME() == this.oldTime && place.getROOM_NO() == this.oldRoom_no) {
            sendProposal();
            return;
        }
        
        ProposedPlace proposition = new ProposedPlace(teacherSymbol, actualGroup.getGroupSymbol(),
                place.getDAY(), place.getTIME(), place.getROOM_NO(), place.getEvaluation(),
                actualGroup.getSubPriority(), actualGroup.getGroupStud_no());
        
        logger.log(Level.INFO, (teacherSymbol + ": SEARCH NEW PLACE SEND NEXT PROPOSAL: " + proposition.toString()));
        
        ACLMessage msg = new ACLMessage(ACLMessage.PROPOSE);
        msg.addReceiver(new AID("ScheduleAgent", AID.ISLOCALNAME));
        msg.setConversationId(SEARCH_NEW_PLACE_TEACHER_PROPOSE);
        try {
            msg.setContentObject(proposition);
            myAgent.send(msg);
        } catch (IOException ex) {
            logger.log(Level.WARNING, "TeacherNegotiationBehaviour.sendProposal()", ex);
        }
    }