public final function isDirty($column = null)
    {
        if ($this->_isDirty($column)) return true;
        foreach ($this->_getSiblingRows() as $r) {
            if ($r->_isDirty($column)) return true;
        }
        if (!$column) {
            foreach ($this->_childRows as $rule=>$rows) {
                foreach ($rows as $row) {
                    if ($row->isDirty()) return true;
                }
            }
        }
        return false;
    }