public static Stream GetResponse(object r, bool allowPermissions)
        {
            ResourceSerializationSettings settings = WebResponseHelper.GetResourceSerializationSettings(allowPermissions);

            JsonSerializerSettings d = new JsonSerializerSettings
            {
                Context = new StreamingContext(StreamingContextStates.Other, settings),
                ReferenceLoopHandling = ReferenceLoopHandling.Serialize
            };

            WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8";

            return(new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(r, d))));
        }