@SuppressWarnings("unchecked")
    @Override
    public boolean importData(TransferSupport support)
    {
      try
      {
        if (support.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
        {
          Transferable transferable = support.getTransferable();
          List<File> transferData = (List<File>) transferable.getTransferData(DataFlavor.javaFileListFlavor);
          ArrayList<URL> plugins = new ArrayList<URL>();
          for (File file : transferData)
          {
            if (file.isDirectory())
            {
              LOG.warning("Only Files are allowed as plugin Drag&Drop.");
              return false;
            }

            if (file.getName().endsWith(".jar"))
            {
              try
              {
                File dest = new File(CONVERTER_PLUGIN_DIR, file.getName());
                Files.copy(file.toPath(), dest.toPath(), new CopyOption[0]);
                plugins.add(dest.toURI().toURL());
              }
              catch (IOException e)
              {
                LOG.log(Level.WARNING, "Could not copy Drag&Dropped plugin " + file.getName() + " to plugin directory.", e);
              }
            }
          }

          // Only reload if at least one plugin was added.
          if (!plugins.isEmpty())
          {
            handler.loadPlugins(new URLClassLoader(plugins.toArray(new URL[0])));
            return true;
          }
          return false;
        }
      }
      catch (UnsupportedFlavorException | IOException e)
      {
        LOG.log(Level.SEVERE, "Could not procede with given Drag&Drop.", e);
      }
      return false;
    }