adding handling of IDictionary<,> when the implementation doesn't support IDictionary