<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def execute_plan(self, plan, allow_rf_change=False):
 """Save proposed-plan and execute the same if requested."""

        if self.should_execute():
            result = self.zk.execute_plan(plan, allow_rf_change=allow_rf_change)
            if not result:
                self.log.error('Plan execution unsuccessful.')
                sys.exit(1)
            else:
                self.log.info(
                    'Plan sent to zookeeper for reassignment successfully.',
                )
        else:
            self.log.info('Proposed plan won\'t be executed (--apply and confirmation needed).')