private V1.AbstractItem ConvertToOldFormat(AbstractItem item) { if (item is ItemAdapter) { return(((ItemAdapter)item).GetOldItem()); } else { //TODO: Should cache these converts... var src = ConvertToOldFormat(item.GetSource()); var adapter = new V2toV1ItemAdapter(item, src); return(adapter); } }