Initial work

This will wait for ever as no timeout is specified in the case an exception is thrown as the latch is not released.