docs: def apply_constraint(self,constraint,selectfrac_skip=False,
                           distribution_skip=False,overwrite=False):
          """Apply a constraint to the population
  
          :param constraint:
              Constraint to apply.
          :type constraint:
              :class:`Constraint`
  
          :param selectfrac_skip: (optional)
              If ``True``, then this constraint will not be considered
              towards diminishing the
          """
          #grab properties
          constraints = self.constraints
          my_selectfrac_skip = self.selectfrac_skip
          my_distribution_skip = self.distribution_skip
  
          if constraint.name in constraints and not overwrite:
              logging.warning('constraint already applied: {}'.format(constraint.name))
              return
          constraints[constraint.name] = constraint
          if selectfrac_skip:
              my_selectfrac_skip.append(constraint.name)
          if distribution_skip:
              my_distribution_skip.append(constraint.name)
  
          #forward-looking for EclipsePopulation
          if hasattr(self, '_make_kde'):
              self._make_kde()
  
          self.constraints = constraints
          self.selectfrac_skip = my_selectfrac_skip
          self.distribution_skip = my_distribution_skip