def _sys_apply_linear(self, mode, do_apply, vois=(None,), gs_outputs=None):
        if not self.is_active():
            return

        if mode == 'fwd':
            for voi in vois:
                self._transfer_data(deriv=True, var_of_interest=voi)  # Full Scatter

        if self.fd_options['force_fd']:
            # parent class has the code to do the fd
            super(Group, self)._sys_apply_linear(mode, do_apply, vois, gs_outputs)

        else:
            for sub in self._local_subsystems:
                sub._sys_apply_linear(mode, do_apply, vois=vois,
                                      gs_outputs=gs_outputs)

        if mode == 'rev':
            for voi in vois:
                self._transfer_data(mode='rev', deriv=True, var_of_interest=voi)  # Full Scatter
Convert a DNS wire format message into a message
dataset/ETHPy150Open OpenMDAO/OpenMDAO/openmdao/core/group.py/Group._sys_apply_linear--crossover with--dataset/ETHPy150Open catap/namebench/nb_third_party/dns/message.py/from_wire