Валидатор съел с одного блока try, хотя сделал два для каждого: Но ведь может так получиться, что упадет закрытие на первом объекте : if ( socket !=null && !socket.isClosed()) socket.close(); А а второй можно успешно закрыть ... if ( in!=null) in.close(); А до него так и не дойдет закрытие ?