def visit_environment_in_state(self, selector, title, s, prev_s=None):
    e = getattr(s, selector)
    prev_e = (getattr(prev_s, selector) if (prev_s is not None) else None)
    if ((e is None) and (prev_e is None)):
        return
    self._dump(('<hr /><tr><td align="left"><b>%s: </b>' % title))
    if (e is None):
        self._dump('<i> Nothing!</i>')
    elif (prev_e is not None):
        if e.is_different(prev_e):
            self._dump('</td></tr><tr><td align="left">')
            self.visit_environment(e, prev_e)
        else:
            self._dump('<i> No changes!</i>')
    else:
        self._dump('</td></tr><tr><td align="left">')
        self.visit_environment(e)
    self._dump('</td></tr>')
def visit_environment_in_state(self, selector, title, s, prev_s=None):
    e = getattr(s, selector)
    prev_e = (getattr(prev_s, selector) if (prev_s is not None) else None)
    if ((e is None) and (prev_e is None)):
        return
    self._dump(('<hr /><tr><td align="left"><b>%s: </b>' % title))
    if (e is None):
        self._dump('<i> Nothing!</i>')
    elif (prev_e is not None):
        if e.is_different(prev_e):
            self._dump('</td></tr><tr><td align="left">')
            self.visit_environment(e, prev_e)
        else:
            self._dump('<i> No changes!</i>')
    else:
        self._dump('</td></tr><tr><td align="left">')
        self.visit_environment(e)
    self._dump('</td></tr>')