public IReadEntityByIdRequest FillReadEntityByIdGaps(IReadEntityByIdRequest userRequest)
        {
            IEntitySource newSource = this.EntitySourceMerger.FillEntitySourceGaps(userRequest.EntitySource);

            ISessionConfig mergedSessionConfig = this.SessionConfigMerger.FillSessionConfigGaps(userRequest.SessionSettings);

            ReadEntityByIdParameters newRequest = new ReadEntityByIdParameters(userRequest.EntityID, newSource, userRequest.ParametersRawValuesByName, mergedSessionConfig);

            return(newRequest);
        }
        public override T Build()
        {
            IEntitySource entitySource = new EntitySource(
                this.entityNamespace,
                this.entityController,
                this.taskId,
                this.entityAction
                );

            ReadEntityByIdParameters result = new ReadEntityByIdParameters(this.entityId, entitySource, this.ParametersRawValuesByName);

            return(result as T);
        }