public IEnumerable <FbStatus> GetStatusses(int pageSize)
        {
            Authenticate();

            string call_id = GetNextCallNr();
            string limit   = pageSize.ToString();

            Dictionary <string, string> requestParams = new Dictionary <string, string>();

            requestParams.Add("method", "stream.get");
            requestParams.Add("api_key", apiKey);
            requestParams.Add("session_key", sessionKey);
            requestParams.Add("call_id", call_id);
            requestParams.Add("source_ids", "");
            requestParams.Add("v", "1.0");
            requestParams.Add("limit", limit);

            var result = channel.GetStream(apiKey, sessionKey, call_id, GenerateSignature(requestParams, sessionSecret), "", limit);

            XNamespace ns = result.GetDefaultNamespace();

            foreach (XElement element in result.Descendants(ns + "stream_post"))
            {
                var status = new FbStatus();

                try
                {
                    var id          = element.Element(ns + "actor_id").Value;
                    var userElement = result.Descendants(ns + "profile").First(p => p.Element(ns + "id").Value == id);

                    status.From = new SourceAddress(id, userElement.Element(ns + "name").Value,
                                                    userElement.Element(ns + "pic_square").Value);

                    if (element.Element(ns + "target_id") != null && !String.IsNullOrEmpty(element.Element(ns + "target_id").Value))
                    {
                        var toid = element.Element(ns + "target_id").Value;

                        if (!String.IsNullOrEmpty(toid))
                        {
                            var toUserElement = result.Descendants(ns + "profile").First(p => p.Element(ns + "id").Value == toid);

                            status.To = new SourceAddress(toid, toUserElement.Element(ns + "name").Value,
                                                          toUserElement.Element(ns + "pic_square").Value);
                        }
                    }

                    status.Uid         = Int64.Parse(element.Element(ns + "actor_id").Value);
                    status.StatusId    = element.Element(ns + "post_id").Value;
                    status.Message     = element.Element(ns + "message").Value;
                    status.DateCreated = Int64.Parse(element.Element(ns + "created_time").Value).ToUnixTime();

                    foreach (var commentElement in element.Descendants(ns + "comment"))
                    {
                        var comment            = new FbStatus();
                        var commentid          = commentElement.Element(ns + "fromid").Value;
                        var commentUserElement = result.Descendants(ns + "profile").First(p => p.Element(ns + "id").Value == commentid);

                        comment.From = new SourceAddress(commentid, commentUserElement.Element(ns + "name").Value,
                                                         commentUserElement.Element(ns + "pic_square").Value);

                        comment.Uid         = Int64.Parse(commentElement.Element(ns + "fromid").Value);
                        comment.StatusId    = commentElement.Element(ns + "id").Value;
                        comment.Message     = commentElement.Element(ns + "text").Value;
                        comment.DateCreated = Int64.Parse(commentElement.Element(ns + "time").Value).ToUnixTime();

                        status.Comments.Add(comment);
                    }

                    foreach (var attachmentElement in element.Descendants(ns + "stream_media"))
                    {
                        var attachment = new FbAttachment();
                        attachment.MediaType = (FbMediaType)Enum.Parse(typeof(FbMediaType), attachmentElement.Element(ns + "type").Value, true);

                        switch (attachment.MediaType)
                        {
                        case FbMediaType.Link:
                        {
                            attachment.TargetUrl       = HttpUtility.HtmlDecode(attachmentElement.Element(ns + "href").Value);
                            attachment.PreviewAltText  = HttpUtility.HtmlDecode(attachmentElement.Element(ns + "alt").Value);
                            attachment.PreviewImageUrl = HttpUtility.HtmlDecode(attachmentElement.Element(ns + "src").Value);

                            break;
                        }

                        case FbMediaType.Photo:
                        {
                            attachment.TargetUrl       = HttpUtility.HtmlDecode(attachmentElement.Element(ns + "href").Value);
                            attachment.PreviewAltText  = HttpUtility.HtmlDecode(attachmentElement.Element(ns + "alt").Value);
                            attachment.PreviewImageUrl = HttpUtility.HtmlDecode(attachmentElement.Element(ns + "src").Value);

                            break;
                        }

                        case FbMediaType.Video:
                        {
                            var src       = new Uri(attachmentElement.Element(ns + "src").Value);
                            var uriParams = NameValueParser.GetCollection(src.Query, "&");

                            attachment.TargetUrl       = HttpUtility.HtmlDecode(attachmentElement.Element(ns + "video").Element(ns + "display_url").Value);
                            attachment.PreviewAltText  = HttpUtility.HtmlDecode(attachmentElement.Element(ns + "alt").Value);
                            attachment.PreviewImageUrl = HttpUtility.UrlDecode(uriParams["url"]);

                            break;
                        }
                        }

                        status.Attachments.Add(attachment);
                    }
                }
                catch (Exception ex)
                {
                    Logger.Error("Unable to retreive user source address. Result = {0}. Exception = {1}", LogSource.Channel, element.Value, ex);

                    continue;
                }

                yield return(status);
            }
        }