private void constructTree(TreeElement<TreeValue> place, TreeValue value, int id) throws AlreadyExistException{
        // choose right or left way
        if (place.getId() > id) {
            // add if empty
            if (place.hasLeftSon()) {
                constructTree(place.getLeftSon(), value, id);
            } else {
                TreeElement<TreeValue> help = new TreeElement<>(value, id);
                place.setLeftSon(help);
            }
            
        } else {
            if (place.getId() < id) {
                // add if empty
                if (place.hasRightSon()) {
                    constructTree(place.getRightSon(), value, id);
                } else {
                    TreeElement<TreeValue> help = new TreeElement<>(value, id);
                    place.setRightSon(help);
                }
            } else {
                throw new AlreadyExistException("You've tried to add an element, with wrong id");
            }
        }
    }