public String get(final String name) {
        String[] values = metadata.get(name);
        if (values == null) {
            return null;
        } else {
            return values[0];
        }
    }
@Test
    public void testMultithreadedDates() throws Exception {
        int numThreads = 10;
        ExecutorService executorService = Executors.newFixedThreadPool(numThreads);
        ExecutorCompletionService<Integer> executorCompletionService =
                new ExecutorCompletionService<>(executorService);
        for (int i = 0; i < numThreads; i++) {
            executorCompletionService.submit(new MetadataDateAdder());
        }
        int finished = 0;
        while (finished < numThreads) {
            Future<Integer> future = executorCompletionService.take();
            if (future != null && future.isDone()) {
                Integer retVal = future.get();
                finished++;
            }
        }

    }