internal static TOutItem Map <TInn, TOutItem>(TInn source, IMapContainer map, TOutItem target = default(TOutItem))
        {
            var rule = map.GetRule <TInn, TOutItem>();

            return((TOutItem)Resolver.Activate <ITypeConverter>(rule.BasicType)
                   .Initialize(rule)
                   .Convert(source, target));
        }