private void doFinish(
        String containerName,
        String fileName,
        IProgressMonitor monitor)
        throws CoreException {

        // create a sample file
        monitor.beginTask("Creating " + fileName, 2);
        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
        IResource stepsFile = root.findMember(new Path(containerName));
        IResource featureResource = root.findMember(new Path(fileName));
        if (!stepsFile.exists() || !(stepsFile instanceof IFile)) {
            throwCoreException("Steps file\"" + containerName + "\" does not exist.");
        }
        final IFile file = (IFile) stepsFile;
        // TODO: parse files and do the generation stuff
        String[] defaultStepsFilePaths = Utils.getDefaultPathsfromPreferences();

        String newStepsContent = StepsGenerator.addStepsFromFeatureFile(featureResource.getLocation().toString(), stepsFile.getLocation().toString(), defaultStepsFilePaths);

        try {
            InputStream stream = openContentStream(newStepsContent);
            if (file.exists()) {
                file.setContents(stream, true, true, monitor);
            } else {
                file.create(stream, true, monitor);
            }
            stream.close();
        } catch (IOException e) {
        }

        monitor.worked(1);
        monitor.setTaskName("Opening file for editing...");
        getShell().getDisplay().asyncExec(new Runnable() {
            @Override
            public void run() {
                IWorkbenchPage page =
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
                try {
                    IDE.openEditor(page, file, true);
                } catch (PartInitException e) {
                }
            }
        });
        monitor.worked(1);


    }