public boolean importData(TransferSupport support) {
            if (!canImport(support))
                return false;

            Transferable transferable = support.getTransferable();
            try {
                ArrayList<Object> data = (ArrayList<Object>) transferable.getTransferData(
                        new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType + ";class=java.util.ArrayList")
                );
                JList.DropLocation location = (JList.DropLocation) support.getDropLocation();

                for(int i=0; i<data.size(); ++i) {
                    if(data.get(i) instanceof Song) {
                        ((DefaultListModel)_myList.getModel()).insertElementAt((Song)data.get(i), location.getIndex());
                    }
                    else if(data.get(i) instanceof Playlist) {
                        while(((Playlist)data.get(i)).hasNext()) {
                            Song current = ((Playlist)data.get(i)).getNext();
                            ((DefaultListModel)_myList.getModel()).insertElementAt(current, location.getIndex());
                        }
                        ((Playlist)data.get(i)).reset();
                    }

                }

            } catch (UnsupportedFlavorException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }

            return true;
        }