private @Nullable Object getTransferDataOrNull(DataFlavor flavor) throws UnsupportedFlavorException {
      if (ourDataFlavor.equals(flavor)) {
        return myDataProxy;
      }
      else if (DataFlavor.stringFlavor.equals(flavor)) {
        return myDataProxy.names;
      }
      else if (DataFlavor.javaFileListFlavor.equals(flavor)) {
        return myDataProxy.files;
      }
      else if (flavor.equals(LinuxDragAndDropSupport.uriListFlavor)) {
        List<File> files = myDataProxy.files;
        return files == null ? null : LinuxDragAndDropSupport.toUriList(files);
      }
      else if (flavor.equals(LinuxDragAndDropSupport.gnomeFileListFlavor)) {
        List<File> files = myDataProxy.files;
        if (files == null) return null;
        String string = (myDataProxy.isCopied ? "copy\n" : "cut\n") + LinuxDragAndDropSupport.toUriList(files);
        return new ByteArrayInputStream(string.getBytes(StandardCharsets.UTF_8));
      }
      else if (flavor.equals(LinuxDragAndDropSupport.kdeCutMarkFlavor) && !myDataProxy.isCopied) {
        return new ByteArrayInputStream("1".getBytes(StandardCharsets.UTF_8));
      }
      throw new UnsupportedFlavorException(flavor);
    }
private @Nullable Object getTransferDataOrNull(DataFlavor flavor)