@staticmethod
def lazy_advance(old_normal, old_lazy):
    """
        This method takes int "old_lazy" (which corresponds to bit vector
        "old_normal"), and changes it to the next lazy int, "new_lazy" (
        which corresponds to "new_normal").

        example:

        lazy sequence: 000, 001, 011, 010, 110, 111, 101, 100

        old_lazy = 011
        old_normal = 2 = 010

        new_normal = 3 = 011
        mask = (new_normal & ~old_normal) = 011 & 101 = 001
        new_lazy = new_normal ^ mask = 011 ^ 001 = 010


        Parameters
        ----------
        old_normal : int
        old_lazy : int

        Returns
        -------
        int, int

        """
    new_normal = old_normal + 1
    new_lazy = old_lazy ^ new_normal & ~(new_normal - 1)
    return new_normal, new_lazy
