Object (@NotNull String dataId) { if (CommonDataKeys.PROJECT.is(dataId)) { return thumbnailView.getProject(); } else if (CommonDataKeys.VIRTUAL_FILE.is(dataId)) { VirtualFile[] selectedFiles = getSelectedFiles(); return selectedFiles.length > 0 ? selectedFiles[0] : null; } else if (CommonDataKeys.VIRTUAL_FILE_ARRAY.is(dataId)) { return getSelectedFiles(); } else if (CommonDataKeys.PSI_FILE.is(dataId)) { return getData(CommonDataKeys.PSI_ELEMENT.getName()); } else if (CommonDataKeys.PSI_ELEMENT.is(dataId)) { VirtualFile[] selectedFiles = getSelectedFiles(); return selectedFiles.length > 0 ? PsiManager.getInstance(thumbnailView.getProject()).findFile(selectedFiles[0]) : null; } else if (LangDataKeys.PSI_ELEMENT_ARRAY.is(dataId)) { return getSelectedElements(); } else if (CommonDataKeys.NAVIGATABLE.is(dataId)) { VirtualFile[] selectedFiles = getSelectedFiles(); return new ThumbnailNavigatable(selectedFiles.length > 0 ? selectedFiles[0] : null); } else if (PlatformDataKeys.COPY_PROVIDER.is(dataId)) { return copyPasteSupport.getCopyProvider(); } else if (PlatformDataKeys.CUT_PROVIDER.is(dataId)) { return copyPasteSupport.getCutProvider(); } else if (PlatformDataKeys.PASTE_PROVIDER.is(dataId)) { return copyPasteSupport.getPasteProvider(); } else if (PlatformDataKeys.DELETE_ELEMENT_PROVIDER.is(dataId)) { return deleteProvider; } else if (CommonDataKeys.NAVIGATABLE_ARRAY.is(dataId)) { VirtualFile[] selectedFiles = getSelectedFiles(); Set<Navigatable> navigatables = new HashSet<>(selectedFiles.length); for (VirtualFile selectedFile : selectedFiles) { if (!selectedFile.isDirectory()) { navigatables.add(new ThumbnailNavigatable(selectedFile)); } } return navigatables.toArray(EMPTY_NAVIGATABLE_ARRAY); } else if (ThumbnailView.DATA_KEY.is(dataId)) { return thumbnailView; } else if (ImageComponentDecorator.DATA_KEY.is(dataId)) { return thumbnailView; } return null; }