class SaveAndRenameCommandBuilder {

    protected void callSaveAndRename(final FileNameAndCommitMessage details) {

        final String newFileName = details.getNewFileName();
        final String commitMessage = details.getCommitMessage();

        beforeSaveAndRenameCommand.execute();

        renameCaller.call(onSuccess(), onError()).saveAndRename(getPath(),
                                                                newFileName,
                                                                getMetadata(),
                                                                getContent(),
                                                                commitMessage);
    }

    @Inject public  SaveAndRenameCommandBuilder(final RenamePopUpPresenter renamePopUpPresenter,
                                       final BusyIndicatorView busyIndicatorView,
                                       final Event<NotificationEvent> notification,
                                       final Event<RenameInProgressEvent> renameInProgressEvent);

}