def cv(self) -> Union[float,None]:
        """
        Convenience property. Get the first constraint violation value for an 
        individual by either reading it from the cache or calculating it.

        Returns
        -------
        out : float, None
            The constraint violation vector for an individual.
        """
        if self.CV is None:
            return None
        else:
            return self.CV[0]

        Convenience property. Get the first constraint violation value for an 
        individual by either reading it from the cache or calculating it.

        Returns
        -------
        out : float, None
            The constraint violation vector for an individual.
        
pymoo/core/individual.py