// Pobranie pierwszego dnia tygodnia (poniedziałek w Polsce).
int firstDayOfWeek = d.getFirstDayOfWeek();
// Określenie odpowiedniego wcięcia pierwszego wiersza.
int indent = 0;
while (weekday != firstDayOfWeek)
{
    indent++;
    d.add(Calendar.DAY_OF_MONTH, -1);       
    weekday = d.get(Calendar.DAY_OF_WEEK);
}

Mam pytanie nie rozumiem jak ten kod działa tzn wiem że -1 oznacza wcięcie a weekday pobiera dzień tygodnia ale nie rozumiem zasady działania tej pętli -- co to znaczy wcięcie się zwiększa o -1 a weekday po co w pętli jest?