class CaseManagementAddChildNodeCanvasCommand extends AbstractCanvasCommand {

    @Override
    public CommandResult<CanvasViolation> undo(final AbstractCanvasHandler context) {
        return new CompositeCommand.Builder<AbstractCanvasHandler, CanvasViolation>()
                .addCommand(new CaseManagementDeleteCanvasNodeCommand(child,
                                                                      parent,
                                                                      index))
                .build()
                .execute(context);
    }

    public  CaseManagementAddChildNodeCanvasCommand(final Node parent,
                                                   final Node child,
                                                   final String shapeSetId,
                                                   final int index);

}