anchor.diff:      /// <returns></returns>
       member this.WebApiToRamlModel(baseUri : Uri, title : string, version : string, defaultMediaTypes : string, description : string) =
           let ramlModel = new RAMLModel(title ,baseUri, version, defaultMediaTypes, description, new List<RouteModel>())
  +        let filterSourceFromUri (x:ApiParameterDescription) = x.Source = ApiParameterSource.FromUri
  +        let filterSourceFromBody (x:ApiParameterDescription) = x.Source = ApiParameterSource.FromBody
  +        let filterNullParameterDescriptor (x:ApiParameterDescription) = x.ParameterDescriptor <> null
  +        let filterNullParameterType (x:ApiParameterDescription) = x.ParameterDescriptor.ParameterType <> null
  +        let filterForUriParameter (api:ApiDescription) (x:ApiParameterDescription) = api.Route.RouteTemplate.Contains(String.Format("{{{0}}}", x.ParameterDescriptor.ParameterName))
  +
  +        let filterComplexTypes (apis) = apis 
  +                                        |> Seq.filter (fun (x:ApiParameterDescription) -> x.ParameterDescriptor.ParameterType.IsComplexModel())
  +
  +        let filterNonComplexTypes (apis) = apis 
  +                                           |> Seq.filter (fun (x:ApiParameterDescription) -> not(x.ParameterDescriptor.ParameterType.IsComplexModel()))
  +
  +        let filterForUri (apis) = apis
  +                                  |> Seq.filter filterSourceFromUri
  +                                  |> Seq.filter filterNullParameterDescriptor
  +                                  |> Seq.filter filterNullParameterType
  +        let filterForBody (apis) = apis
  +                                   |> Seq.filter filterSourceFromBody
  +                                   |> Seq.filter filterNullParameterDescriptor
  +                                   |> Seq.filter filterNullParameterType
   
           let GetHeaders (api:ApiDescription) = 
               match api.ActionDescriptor with
  
positive.code:             
              let results = new List<RequestUriParameterModel>()
              api.ParameterDescriptions
              |> Seq.filter( fun x -> x.Source = ApiParameterSource.FromUri )
              |> Seq.filter( fun x -> x.ParameterDescriptor <> null )
              |> Seq.filter( fun x -> x.ParameterDescriptor.ParameterType <> null )
              |> Seq.filter( fun x -> x.ParameterDescriptor.ParameterType.IsComplexModel() )
              |> Seq.filter( fun x -> api.Route.RouteTemplate.Contains(String.Format("{{{0}}}", x.ParameterDescriptor.ParameterName)))
              |> Seq.map( fun x -> (x.ParameterDescriptor.ParameterType.GetProperties(), 
                                    x.ParameterDescriptor.IsOptional, 
                                    x.Documentation, 
  
negative.code:             |> Seq.map mapParameters
              |> Seq.iter results.AddRange
              
              api.ParameterDescriptions 
              |> filterForUri
              |> filterNonComplexTypes
              |> Seq.filter( fun x -> not (filterForUriParameter api x) ) 
              |> Seq.map ( fun x -> new RequestQueryParameterModel(x.Name, x.Documentation, x.ParameterDescriptor.ParameterType.GetForRealType(), x.ParameterDescriptor.IsOptional, match x.ParameterDescriptor.DefaultValue with | null -> "" | _ -> x.ParameterDescriptor.DefaultValue.ToString()))
              |> Seq.iter results.Add
  
  