public Tree Filter(IPredicate4 a_filter) { if (_preceding != null) { _preceding = _preceding.Filter(a_filter); } if (_subsequent != null) { _subsequent = _subsequent.Filter(a_filter); } if (!a_filter.Match(this)) { return(Remove()); } return(this); }