/**
     * Returns the data encapsulated in this {@link TransferableObject}. If the {@link Fetcher}
     * constructor was used, then this is when the {@link Fetcher#getObject getObject()} method will
     * be called. If the requested data flavor is not supported, then the {@link Fetcher#getObject
     * getObject()} method will not be called.
     *
     * @param flavor The data flavor for the data to return
     * @return The dropped data
     * @since 1.1
     */
    public Object getTransferData(java.awt.datatransfer.DataFlavor flavor)
        throws java.awt.datatransfer.UnsupportedFlavorException, java.io.IOException {
      // Native object
      if (flavor.equals(DATA_FLAVOR)) return fetcher == null ? data : fetcher.getObject();

      // String
      if (flavor.equals(java.awt.datatransfer.DataFlavor.stringFlavor))
        return fetcher == null ? data.toString() : fetcher.getObject().toString();

      // We can't do anything else
      throw new java.awt.datatransfer.UnsupportedFlavorException(flavor);
    } // end getTransferData