This class was built to help convert date/time values between timezones and GMT. It fails today if the date/time given does not exist such as 3/8/2015 02:30:00 ET. Since this is the day of Daylight Saving Time, times between 2am and 2:59am that day don't exist for most timezones. Some Trading Partners don't switch their clocks properly and still send these invalid times. The java class needs to be tolerant of them.
Attached is java source code used at Schneider for parsing date/time values. When it gets a ParseException, it tries again with setLenient(true). Code is attached for your review.