Skip the call to String.format when annotating, if there are no values
Make sure we always shut down the executor

Previously, an ExecutionException from the task could cause the process
to hang, because the ExecutorService was never shut down