Zamiast definiować ten wyjątek, rzucaj po prostu java.text.ParseException. Konstruktor tej klasy przyjmuje jako drugi parametr tzw. ErrorOffset ale jak nie będziesz go znał to możesz tam podać zero. Teraz kod wygląda dużo lepiej, merguje go do repo ale jak będziesz chciał jeszcze zmienić ten wyjątek to śmiało wrzucaj następny pull request.