private void SetLinks(HttpRequestMessage req, IObjectFacade objectFacade, IActionParameterFacade parameter) {
            var tempLinks = new List<LinkRepresentation>();


            if (Flags.FormalDomainModel) {
                var parameterTypeContext = new ParameterTypeContextFacade {
                    Action = parameter.Action,
                    OwningSpecification = objectFacade.Specification,
                    Parameter = parameter
                };
                LinkRepresentation describedBy = LinkRepresentation.Create(OidStrategy ,new ParamTypeRelType(RelValues.DescribedBy, new UriMtHelper(OidStrategy, req, parameterTypeContext)), Flags);
                tempLinks.Add(describedBy);
            }

            if (parameter.IsAutoCompleteEnabled || parameter.GetChoicesParameters().Any()) {
                tempLinks.Add(CreatePromptLink(req, objectFacade, parameter));
            }

            Links = tempLinks.ToArray();
        }
        public RestSnapshot(IOidStrategy oidStrategy, ParameterTypeContextFacade parameterTypeContext, HttpRequestMessage req, RestControlFlags flags)
            : this(oidStrategy,req, true) {
            logger.DebugFormat("RestSnapshot:{0}", parameterTypeContext.GetType().FullName);

            populator = () => {
                representation = ParameterTypeRepresentation.Create(oidStrategy ,req, parameterTypeContext, flags);
                SetHeaders();
            };
        }
 public UriMtHelper(IOidStrategy oidStrategy, HttpRequestMessage req, ParameterTypeContextFacade parameterTypeContext)
     : this(oidStrategy ,req) {
     action = parameterTypeContext.Action;
     spec = parameterTypeContext.OwningSpecification;
     param = parameterTypeContext.Parameter;
     cachedId = "";
     CachedType = spec.DomainTypeName(oidStrategy);
 }