Just used cron4j by http://www.sauronsoftware.it/projects/cron4j/index.php .
tried to get the next valid date by forwarding the time , taking steps as big as possible . Planning on making some time to improve the forwarding process.
Added getNextValidDateAfterStartDate() method for getting the next valid date for the given pattern and given start date
Added getNextValidDate() shortcut method for getting the next valid date after NOW