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

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