Please move this into BFSparse. The general rule should be (IMO) that all classes handle themselves, and lower, otherwise delegate (by reversing the order of the addition), so you can actually change this to:
case _ => other + item