When we use cron expression 0 0 11 L-1 * ? (first-to-last), we have problem with class CronExpression because method getTimeAfter returns the current date if the day matches the expression, this causes the process to be called again many times for day.
In lib quartz it's problem fixed.
CronExpression cronExpression = new CronExpression("0 0 11 L-1 * ?");
Date date = cronExpression.getTimeAfter(new Date());
System.out.println(date);
It's problem in all version.