@Override
  protected void doUnwrap(final PsiElement element, final Context context) throws IncorrectOperationException {
    PsiTryStatement trySt = (PsiTryStatement)element;

    PsiResourceList resourceList = trySt.getResourceList();
    if (resourceList != null) {
      for (PsiResourceListElement listElement : resourceList) {
        if (listElement instanceof PsiResourceVariable) {
          context.extractElement(listElement, trySt);
          if (context.isEffective()) {
            PsiStatement emptyStatement = JavaPsiFacade.getElementFactory(resourceList.getProject()).createStatementFromText(";", trySt);
            BlockUtils.addBefore(trySt, emptyStatement);
          }
        }
      }
    }
    if (CommonJavaRefactoringUtil.isLoopOrIf(trySt.getParent())) {
      trySt = BlockUtils.expandSingleStatementToBlockStatement(trySt);
    }

    context.extractFromCodeBlock(trySt.getTryBlock(), trySt);
    context.extractFromCodeBlock(trySt.getFinallyBlock(), trySt);
    context.delete(trySt);
  }
@Override
  protected void doUnwrap(final PsiElement element, final Context context)