Hard to tell exactly what you mean from your description but once the method is complete either from a return, a thrown Exception, or an unchecked Exception. Whichever way, the method should release the lock, otherwise there would be real issues with Java as a threaded programming language.