@Override
    public void addItem(final String fromDirectory, final String item) throws IOException {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try (InputStream is = new FileInputStream(fromDirectory + File.separator + item);
                        OutputStream os = new FileOutputStream(workingDirectory + File.separator + item)) {
                    byte[] buffer = new byte[1024];
                    int length;
                    while ((length = is.read(buffer)) > 0) {
                        os.write(buffer, 0, length);
                    }
                    items.add(item);
                } catch (IOException ex) {
                    throw new RuntimeException(ex);
                }
            }
        }).start();
    }