@@ -0,0 +1,1441 @@
+package com.intellij.ide.actions;%0A%0Aimport com.intellij.openapi.actionSystem.AnActionEvent;%0Aimport com.intellij.openapi.actionSystem.DataContext;%0Aimport com.intellij.openapi.actionSystem.PlatformDataKeys;%0Aimport com.intellij.openapi.project.DumbAwareAction;%0Aimport com.intellij.openapi.project.Project;%0Aimport com.intellij.openapi.vfs.VirtualFile;%0Aimport com.intellij.psi.PsiElement;%0Aimport com.intellij.psi.PsiManager;%0Aimport com.intellij.refactoring.copy.CopyHandler;%0A%0Apublic class SaveAsAction extends DumbAwareAction %7B%0A%0A  @Override%0A  public void update(AnActionEvent e) %7B%0A    final DataContext dataContext = e.getDataContext();%0A    final Project project = PlatformDataKeys.PROJECT.getData(dataContext);%0A    final VirtualFile virtualFile = PlatformDataKeys.VIRTUAL_FILE.getData(dataContext);%0A    e.getPresentation().setEnabled(project!=null && virtualFile!=null);%0A  %7D%0A%0A  @Override%0A  public void actionPerformed(AnActionEvent e) %7B%0A    final DataContext dataContext = e.getDataContext();%0A    final Project project = PlatformDataKeys.PROJECT.getData(dataContext);%0A    final VirtualFile virtualFile = PlatformDataKeys.VIRTUAL_FILE.getData(dataContext);%0A    @SuppressWarnings(%7B%22ConstantConditions%22%7D) final PsiElement element = PsiManager.getInstance(project).findFile(virtualFile);%0A    if(element==null) return;%0A    CopyHandler.doCopy(new PsiElement%5B%5D %7Belement.getContainingFile()%7D, element.getContainingFile().getContainingDirectory());%0A  %7D%0A%7D%0A

Save As action moved to platform and used in PyCharm (PY-4343)