private void rejectGroupCheckCollision(ACLMessage msg, ProposedPlace place) {
        int studentsNo = mysql.getStudentsNumberOfGroup(place.getGROUP_SYMBOL());
        int negotiationLevel = mysql.getNegotiationLevel();
        int collisionStudentsNumber;
        ArrayList<Integer> studIds = new ArrayList<>();
        Object answer[] = new Object[3];// answer[0]: ocena; answer[1]: symbol wykładowcy, który zajmuje dane miejsce; answer[2]: symbol grupy, która zajmuje dane miejsce
        
        // spr czy w ogóle to miejsce jest wolne
        if (!mysql.isPlaceFree(place.getDAY(), place.getTIME(), place.getROOM_NO())) {
            String roomer[] = mysql.getRoomer(place.getDAY(), place.getTIME(), place.getROOM_NO());
            answer[1] = roomer[0];
            answer[2] = roomer[1];
            // spr czy będzie kolizja ze studentami jeśli zamienię grupy
            studIds.addAll(mysql.getStudentIdsOfGroup(place.getGROUP_SYMBOL()));
            collisionStudentsNumber = mysql.getCollisionStudentsNumber(place.getGROUP_SYMBOL(),
                    roomer[1], place.getDAY(), place.getTIME(), studIds);

            // próg kolizyjny został przekroczony
            if(studentsNo > 0 && negotiationLevel < (collisionStudentsNumber * 100 / studentsNo)) {
                answer[0] = 0;// absolutnie nie można ustawić danej grupy w danym miejscu
            } else {// ok, próg nie został przekroczony i zostaje dodany do oceny ogólnej
                answer[0] = (studentsNo - collisionStudentsNumber) + place.getEvaluation();
            }
        } else {
            answer[1] = null;
            answer[2] = null;
            studIds.addAll(mysql.getStudentIdsOfGroup(place.getGROUP_SYMBOL()));
            collisionStudentsNumber = mysql.getCollisionStudentsNumber(
                    place.getGROUP_SYMBOL(), place.getDAY(), place.getTIME(), studIds);
            
            // próg kolizyjny został przekroczony
            if(studentsNo > 0 && negotiationLevel < (collisionStudentsNumber * 100 / studentsNo)) {
                answer[0] = 0;// absolutnie nie można ustawić danej grupy w danym miejscu
            } else {// ok, próg nie został przekroczony i zostaje dodany do oceny ogólnej
                answer[0] = (studentsNo - collisionStudentsNumber) + place.getEvaluation();
            }
        }
        
        ACLMessage reply = msg.createReply();// create reply
        reply.setPerformative(ACLMessage.INFORM_REF);
        try {
            reply.setContentObject(answer);
            myAgent.send(reply);
        } catch (IOException ex) {
            logger.log(Level.WARNING, "DataBaseMySQLBehaviour.checkCollisions()", ex);
        }
    }