public override Future coalesce(Future incoming) { object key = toKey(incoming.m_msg); if (key == null) return null; Future orig = (Future)pending[key]; if (orig == null) return null; orig.m_msg = coalesce(orig.m_msg, incoming.m_msg); return orig; }