Once again reduced the number of calls to getSoonestDateAfter(Calendar)