Recuperar la fecha del lunes de la semana actual

Tenemos una utilidad que se ejecutará cualquier día de lunes a viernes. Se actualizará una cierta cantidad de archivos dentro de una herramienta de administración de contenido. La última fecha de modificación asociada con ese archivo debe ser, la fecha del lunes de esa semana. Escribí el siguiente programa para recuperar la fecha del lunes de la semana actual. Pero todavía no estoy seguro de si esto funcionaría para todos los escenarios. ¿Alguien tiene una mejor solución?

Calendar c = Calendar.getInstance();
c.setTime(new Date());
System.out.println(c.get(Calendar.DAY_OF_MONTH));
System.out.println(c.get(Calendar.DAY_OF_WEEK));
int mondayNo = c.get(Calendar.DAY_OF_MONTH)-c.get(Calendar.DAY_OF_WEEK)+2;
c.set(Calendar.DAY_OF_MONTH,mondayNo);
System.out.println("Date "+c.getTime());

Respuestas a la pregunta(16)

Su respuesta a la pregunta