Java Throw Exception From Synchronous Block