public static String buildOutputCalendar(Calendar calendar) {
        String res = "  " + calendar.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.getDefault()) + " " +
                calendar.get(Calendar.YEAR) + '\n' +
                (argsAnalizer.getIsWeekNumber() ? "   " : "") + "Mo Tu We Th Fr Sa Su" + '\n';

        if (argsAnalizer.getIsWeekNumber()) {
            res += String.valueOf(calendar.get(Calendar.WEEK_OF_YEAR) - 1);
            if (String.valueOf(calendar.get(Calendar.WEEK_OF_YEAR) - 1).length() == 1) {
                res += "  ";
            } else {
                res += " ";
            }
        }

        for (int i = 1; i < calendar.get(Calendar.DAY_OF_WEEK) - 1; i++) {
            res += "   ";
        }
        int currMonth = calendar.get(Calendar.MONTH);
        int i = calendar.get(Calendar.DAY_OF_WEEK) - 1;

        while (currMonth == calendar.get((Calendar.MONTH))) {
            String temp = String.valueOf(calendar.get(Calendar.DAY_OF_MONTH));
            if (temp.length() == 1) {
                temp += "  ";
            } else {
                temp += " ";
            }
            res += temp;
            i++;
            calendar.add(Calendar.DATE, 1);
            if (i % 7 == 1) {
                res += "\n";
                if (argsAnalizer.getIsWeekNumber()) {
                    res += String.valueOf(calendar.get(Calendar.WEEK_OF_YEAR) - 1);
                    if (String.valueOf(calendar.get(Calendar.WEEK_OF_YEAR) - 1).length() == 1) {
                        res += "  ";
                    } else {
                        res += " ";
                    }
                }
            }
        }


        return res;
    }