<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def compile_instance_masks(cls):
 """ Compiles instance masks into a master mask that is usable by the IO expander. Also determines whether or not the pump should be on. Method is generalized to support multiple IO expanders for possible future expansion. """

        # Compute required # of IO expanders needed, clear mask variable.
        number_IO_expanders = ((len(cls._list) - 1) / 4) + 1
        cls.master_mask = [0, 0] * number_IO_expanders

        for ctrlobj in cls:
            # Or masks together bank-by-banl
            cls.master_mask[ctrlobj.bank] |= ctrlobj.mask
            # Handle the pump request seperately
            if ctrlobj.pump_request == 1:
                cls.master_mask[cls.pump_bank] |= 1 << cls.pump_pin