Swing drag-n-drop

Pessoal, estou com uma duvida na utilização do drag n drop com swing. Estou implementando um sistema onde existe um JTree e um JList e os objetos deste JTree podem ser arrastados para o JList. Quando eu trato apenas como String da certo, mas queria saber como eu posso fazer para incluir exatamente o Objeto que foi arrastado. O método toString() do objeto que eu quero transferir ja foi implementado… minha dúvida eh em que DataFlavor usar para isso, pois para passar como String eu uso DataFlavor.stringFlavor. Segue o método que eu to fazendo isso:

        public boolean importData(TransferHandler.TransferSupport info) {
            if (!info.isDrop()) {
                return false;
            }

            JList list = (JList)info.getComponent();
            DefaultListModel listModel = (DefaultListModel)list.getModel();
            JList.DropLocation dl = (JList.DropLocation)info.getDropLocation();
            int index = dl.getIndex();
            boolean insert = dl.isInsert();

            Transferable t = info.getTransferable();
            String data;
            try {
                data = (String)t.getTransferData(DataFlavor.stringFlavor);  //aqui esta minha duvida
            }
            catch (Exception e) { return false; }
                                   
            if (insert) {
                listModel.add(index, data);
            } else {
                listModel.set(index, data);
            }
            return true;
        }

Quem puder ajudar ai eu agradeço. Vlw