code: def alter_zero_tip_allowed_states(tree, feature):
      zero_parent2tips = defaultdict(list)
      allowed_state_feature = get_personalized_feature_name(feature, ALLOWED_STATES)
      for tip in tree:
          if tip.dist == 0:
              state = getattr(tip, feature, None)
              if state is not None and state != '':
                  zero_parent2tips[tip.up].append(tip)
      for parent, zero_tips in zero_parent2tips.items():
          counts = None
          for tip in zero_tips:
              if counts is None:
                  counts = getattr(tip, allowed_state_feature).copy()
              else:
                  counts += getattr(tip, allowed_state_feature)
          if counts.max() == len(zero_tips):
              continue
          allowed_states = None
          for tip in zero_tips:
              if allowed_states is None:
                  allowed_states = getattr(tip, allowed_state_feature).copy()
              else:
                  tip_allowed_states = getattr(tip, allowed_state_feature)
                  allowed_states[np.nonzero(tip_allowed_states)] = 1
              tip.add_feature(allowed_state_feature, allowed_states)