public override IRegistration Build()
        {
            var injector    = InjectorCache.GetOrBuild(ImplementationType);
            var destination = new ComponentDestination(prefab, parent, parentFinder, gameObjectName);

            return(new ComponentRegistration(
                       ImplementationType,
                       Lifetime,
                       InterfaceTypes,
                       Parameters,
                       injector,
                       destination));
        }
 internal ComponentRegistration(
     Type implementationType,
     Lifetime lifetime,
     IReadOnlyList <Type> interfaceTypes,
     IReadOnlyList <IInjectParameter> parameters,
     IInjector injector,
     ComponentDestination destination)
 {
     ImplementationType = implementationType;
     Lifetime           = lifetime;
     InterfaceTypes     = interfaceTypes;
     Parameters         = parameters;
     this.injector      = injector;
     this.destination   = destination;
 }