//# 0 errors, 723 messages
//#
/*
    //#FeedModel.java:1:1: class: org.apache.roller.weblogger.ui.rendering.model.FeedModel
    //#FeedModel.java:1:1: class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#FeedModel.java:1:1: method: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager.org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init
    //#FeedModel.java:1:1: class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#FeedModel.java:1:1: method: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager.org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init
 * Licensed to the Apache Software Foundation (ASF) under one or more
 *  contributor license agreements.  The ASF licenses this file to You
 * under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.  For additional information regarding
 * copyright in this work, please see the NOTICE file in the top level
 * directory of this distribution.
 */

package org.apache.roller.weblogger.ui.rendering.model;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.URLStrategy;
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.config.WebloggerRuntimeConfig;
import org.apache.roller.weblogger.pojos.Weblog;
import org.apache.roller.weblogger.pojos.wrapper.WeblogWrapper;
import org.apache.roller.weblogger.ui.rendering.pagers.CommentsPager;
import org.apache.roller.weblogger.ui.rendering.pagers.Pager;
import org.apache.roller.weblogger.ui.rendering.pagers.WeblogEntriesListPager;
import org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest;
import org.apache.roller.weblogger.ui.rendering.util.WeblogRequest;
import org.apache.roller.weblogger.util.URLUtilities;


/**
 * Model which provides information needed to render a feed.
 */
public class FeedModel implements Model {
    //#FeedModel.java:43: method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel.org.apache.roller.weblogger.ui.rendering.model.FeedModel()
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel()): this
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel()): this.feedRequest
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel()): this.urlStrategy
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel()): this.weblog
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel()): this.feedRequest == null
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel()): this.urlStrategy == null
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel()): this.weblog == null
    //#FeedModel.java:43: method: URLStrategy org.apache.roller.weblogger.ui.rendering.model.FeedModel.access$000(FeedModel)
    //#input(URLStrategy access$000(FeedModel)): x0
    //#input(URLStrategy access$000(FeedModel)): x0.urlStrategy
    //#output(URLStrategy access$000(FeedModel)): return_value
    //#pre[1] (URLStrategy access$000(FeedModel)): x0 != null
    //#pre[2] (URLStrategy access$000(FeedModel)): init'ed(x0.urlStrategy)
    //#post(URLStrategy access$000(FeedModel)): return_value == x0.urlStrategy
    //#post(URLStrategy access$000(FeedModel)): init'ed(return_value)
    //#FeedModel.java:43: end of method: URLStrategy org.apache.roller.weblogger.ui.rendering.model.FeedModel.access$000(FeedModel)
    //#FeedModel.java:43: method: int org.apache.roller.weblogger.ui.rendering.model.FeedModel.access$100()
    //#input(int access$100()): DEFAULT_ENTRIES
    //#output(int access$100()): return_value
    //#pre[1] (int access$100()): init'ed(DEFAULT_ENTRIES)
    //#post(int access$100()): return_value == DEFAULT_ENTRIES
    //#post(int access$100()): init'ed(return_value)
    //#FeedModel.java:43: end of method: int org.apache.roller.weblogger.ui.rendering.model.FeedModel.access$100()
    
    private static Log log = LogFactory.getLog(FeedModel.class); 
    //#FeedModel.java:45: method: org.apache.roller.weblogger.ui.rendering.model.FeedModel.org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init
    //#FeedModel.java:45: Warning: method not available
    //#    -- call on Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel
    //#    method: org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init
    //#    unanalyzed callee: Log org.apache.commons.logging.LogFactory:getLog(Class)
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): DEFAULT_ENTRIES
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel]
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getCategoryPath()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getCommentsPager()Lorg/apache/roller/weblogger/ui/rendering/pagers/Pager;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getExcerpts()Z
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getLocale()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getModelName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getTags()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getWeblog()Lorg/apache/roller/weblogger/pojos/wrapper/WeblogWrapper;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getWeblogEntriesPager()Lorg/apache/roller/weblogger/ui/rendering/pagers/Pager;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.init(Ljava/util/Map;)V
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): log
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): org/apache/roller/weblogger/ui/rendering/model/Model.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel]
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): init'ed(DEFAULT_ENTRIES)
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): org/apache/roller/weblogger/ui/rendering/model/Model.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getCategoryPath()Ljava/lang/String; == &getCategoryPath
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getCommentsPager()Lorg/apache/roller/weblogger/ui/rendering/pagers/Pager; == &getCommentsPager
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getExcerpts()Z == &getExcerpts
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getLocale()Ljava/lang/String; == &getLocale
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getModelName()Ljava/lang/String; == &getModelName
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getTags()Ljava/util/List; == &getTags
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getWeblog()Lorg/apache/roller/weblogger/pojos/wrapper/WeblogWrapper; == &getWeblog
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.getWeblogEntriesPager()Lorg/apache/roller/weblogger/ui/rendering/pagers/Pager; == &getWeblogEntriesPager
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): __Dispatch_Table.init(Ljava/util/Map;)V == &init
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init): init'ed(log)
    
    private static int DEFAULT_ENTRIES = WebloggerRuntimeConfig.getIntProperty("site.newsfeeds.defaultEntries");
    //#FeedModel.java:47: Warning: method not available
    //#    -- call on int org.apache.roller.weblogger.config.WebloggerRuntimeConfig:getIntProperty(String)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel
    //#    method: org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init
    //#    unanalyzed callee: int org.apache.roller.weblogger.config.WebloggerRuntimeConfig:getIntProperty(String)
    //#FeedModel.java:47: end of method: org.apache.roller.weblogger.ui.rendering.model.FeedModel.org.apache.roller.weblogger.ui.rendering.model.FeedModel__static_init
    
    private WeblogFeedRequest feedRequest = null;
    private URLStrategy urlStrategy = null;
    private Weblog weblog = null;
    
    
    public void init(Map initData) throws WebloggerException {
        
        // we expect the init data to contain a weblogRequest object
        WeblogRequest weblogRequest = (WeblogRequest) initData.get("parsedRequest");
    //#FeedModel.java:57: method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel.init(Map)
    //#input(void init(Map)): initData
    //#input(void init(Map)): this
    //#output(void init(Map)): this.feedRequest
    //#output(void init(Map)): this.urlStrategy
    //#output(void init(Map)): this.weblog
    //#pre[1] (void init(Map)): initData != null
    //#presumption(void init(Map)): java.util.Map:get(...)@57 != null
    //#presumption(void init(Map)): org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger(...)@74 != null
    //#presumption(void init(Map)): org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:instanceof(...)@64 == 1
    //#post(void init(Map)): (soft) this.feedRequest != null
    //#post(void init(Map)): init'ed(this.urlStrategy)
    //#post(void init(Map)): init'ed(this.weblog)
    //#test_vector(void init(Map)): java.util.Map:get(...)@72: Inverse{null}, Addr_Set{null}
        if(weblogRequest == null) {
            throw new WebloggerException("expected weblogRequest from init data");
        }
        
        // PageModel only works on page requests, so cast weblogRequest
        // into a WeblogPageRequest and if it fails then throw exception
        if(weblogRequest instanceof WeblogFeedRequest) {
            this.feedRequest = (WeblogFeedRequest) weblogRequest;
        } else {
            throw new WebloggerException("weblogRequest is not a WeblogFeedRequest."+
                    "  FeedModel only supports feed requests.");
        }
        
        // look for url strategy
        urlStrategy = (URLStrategy) initData.get("urlStrategy");
        if(urlStrategy == null) {
            urlStrategy = WebloggerFactory.getWeblogger().getUrlStrategy();
    //#FeedModel.java:74: Warning: method not available
    //#    -- call on Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel
    //#    method: void init(Map)
    //#    unanalyzed callee: Weblogger org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger()
    //#FeedModel.java:74: Warning: method not available
    //#    -- call on URLStrategy org.apache.roller.weblogger.business.Weblogger:getUrlStrategy()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel
    //#    method: void init(Map)
    //#    unanalyzed callee: URLStrategy org.apache.roller.weblogger.business.Weblogger:getUrlStrategy()
        }
        
        // extract weblog object
        weblog = feedRequest.getWeblog();
    //#FeedModel.java:78: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel
    //#    method: void init(Map)
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblog()
    }
    //#FeedModel.java:79: end of method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel.init(Map)
    
    
    /** Template context name to be used for model */
    public String getModelName() {
        return "model";
    //#FeedModel.java:84: method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel.getModelName()
    //#output(String getModelName()): return_value
    //#post(String getModelName()): return_value == &"model"
    //#FeedModel.java:84: end of method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel.getModelName()
    }
    
    
    /**
     * Get the weblog locale used to render this page, null if no locale.
     */
    public String getLocale() {
        return feedRequest.getLocale();
    //#FeedModel.java:92: method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel.getLocale()
    //#FeedModel.java:92: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getLocale()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel
    //#    method: String getLocale()
    //#    unanalyzed callee: String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getLocale()
    //#input(String getLocale()): this
    //#input(String getLocale()): this.feedRequest
    //#output(String getLocale()): return_value
    //#pre[2] (String getLocale()): this.feedRequest != null
    //#post(String getLocale()): init'ed(return_value)
    //#FeedModel.java:92: end of method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel.getLocale()
    }
    
    
    /**
     * Get weblog being displayed.
     */
    public WeblogWrapper getWeblog() {
        return WeblogWrapper.wrap(weblog, urlStrategy);
    //#FeedModel.java:100: method: WeblogWrapper org.apache.roller.weblogger.ui.rendering.model.FeedModel.getWeblog()
    //#input(WeblogWrapper getWeblog()): this
    //#input(WeblogWrapper getWeblog()): this.urlStrategy
    //#input(WeblogWrapper getWeblog()): this.weblog
    //#output(WeblogWrapper getWeblog()): new WeblogWrapper(wrap#1) num objects
    //#output(WeblogWrapper getWeblog()): new WeblogWrapper(wrap#1).__Tag
    //#output(WeblogWrapper getWeblog()): new WeblogWrapper(wrap#1).pojo
    //#output(WeblogWrapper getWeblog()): new WeblogWrapper(wrap#1).urlStrategy
    //#output(WeblogWrapper getWeblog()): return_value
    //#new obj(WeblogWrapper getWeblog()): new WeblogWrapper(wrap#1)
    //#pre[2] (WeblogWrapper getWeblog()): init'ed(this.urlStrategy)
    //#pre[3] (WeblogWrapper getWeblog()): this.weblog != null
    //#post(WeblogWrapper getWeblog()): return_value == &new WeblogWrapper(wrap#1)
    //#post(WeblogWrapper getWeblog()): new WeblogWrapper(wrap#1) num objects == 1
    //#post(WeblogWrapper getWeblog()): new WeblogWrapper(wrap#1).__Tag == org/apache/roller/weblogger/pojos/wrapper/WeblogWrapper
    //#post(WeblogWrapper getWeblog()): new WeblogWrapper(wrap#1).pojo == this.weblog
    //#post(WeblogWrapper getWeblog()): new WeblogWrapper(wrap#1).pojo != null
    //#post(WeblogWrapper getWeblog()): new WeblogWrapper(wrap#1).urlStrategy == this.urlStrategy
    //#post(WeblogWrapper getWeblog()): init'ed(new WeblogWrapper(wrap#1).urlStrategy)
    //#FeedModel.java:100: end of method: WeblogWrapper org.apache.roller.weblogger.ui.rendering.model.FeedModel.getWeblog()
    }
    
    
    /**
     * Get category path or name specified by request.
     */
    public boolean getExcerpts() {
        return feedRequest.isExcerpts();
    //#FeedModel.java:108: method: bool org.apache.roller.weblogger.ui.rendering.model.FeedModel.getExcerpts()
    //#FeedModel.java:108: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:isExcerpts()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel
    //#    method: bool getExcerpts()
    //#    unanalyzed callee: bool org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:isExcerpts()
    //#input(bool getExcerpts()): this
    //#input(bool getExcerpts()): this.feedRequest
    //#output(bool getExcerpts()): return_value
    //#pre[2] (bool getExcerpts()): this.feedRequest != null
    //#post(bool getExcerpts()): init'ed(return_value)
    //#FeedModel.java:108: end of method: bool org.apache.roller.weblogger.ui.rendering.model.FeedModel.getExcerpts()
    }
    
    
    /**
     * Get category path or name specified by request.
     */
    public String getCategoryPath() {
        return feedRequest.getWeblogCategoryName();
    //#FeedModel.java:116: method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel.getCategoryPath()
    //#FeedModel.java:116: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel
    //#    method: String getCategoryPath()
    //#    unanalyzed callee: String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName()
    //#input(String getCategoryPath()): this
    //#input(String getCategoryPath()): this.feedRequest
    //#output(String getCategoryPath()): return_value
    //#pre[2] (String getCategoryPath()): this.feedRequest != null
    //#post(String getCategoryPath()): init'ed(return_value)
    //#FeedModel.java:116: end of method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel.getCategoryPath()
    }
    
    /**
     * Gets most recent entries limited by: weblog and category specified in 
     * request plus the weblog.entryDisplayCount.
     */
    public Pager getWeblogEntriesPager() {
        return new FeedEntriesPager(feedRequest);        
    //#FeedModel.java:124: method: Pager org.apache.roller.weblogger.ui.rendering.model.FeedModel.getWeblogEntriesPager()
    //#input(Pager getWeblogEntriesPager()): DEFAULT_ENTRIES
    //#input(Pager getWeblogEntriesPager()): org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager.__Dispatch_Table.getItems()Ljava/util/List;
    //#input(Pager getWeblogEntriesPager()): org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager.__Dispatch_Table.getPage()I
    //#input(Pager getWeblogEntriesPager()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager]
    //#input(Pager getWeblogEntriesPager()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager]
    //#input(Pager getWeblogEntriesPager()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Descendant_Table[others]
    //#input(Pager getWeblogEntriesPager()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Dispatch_Table.getItems()Ljava/util/List;
    //#input(Pager getWeblogEntriesPager()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Dispatch_Table.getPage()I
    //#input(Pager getWeblogEntriesPager()): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.log
    //#input(Pager getWeblogEntriesPager()): this
    //#input(Pager getWeblogEntriesPager()): this.feedRequest
    //#input(Pager getWeblogEntriesPager()): this.urlStrategy
    //#output(Pager getWeblogEntriesPager()): new ArrayList(getItems#1) num objects
    //#output(Pager getWeblogEntriesPager()): new FeedModel$FeedEntriesPager(getWeblogEntriesPager#1) num objects
    //#output(Pager getWeblogEntriesPager()): return_value.__Tag
    //#output(Pager getWeblogEntriesPager()): return_value.entries
    //#output(Pager getWeblogEntriesPager()): return_value.feedRequest
    //#output(Pager getWeblogEntriesPager()): return_value.lastUpdated
    //#output(Pager getWeblogEntriesPager()): return_value.length
    //#output(Pager getWeblogEntriesPager()): return_value.locale
    //#output(Pager getWeblogEntriesPager()): return_value.more
    //#output(Pager getWeblogEntriesPager()): return_value.page
    //#output(Pager getWeblogEntriesPager()): return_value.queryCat
    //#output(Pager getWeblogEntriesPager()): return_value.queryTags
    //#output(Pager getWeblogEntriesPager()): return_value.queryUser
    //#output(Pager getWeblogEntriesPager()): return_value.queryWeblog
    //#output(Pager getWeblogEntriesPager()): return_value.sinceDays
    //#output(Pager getWeblogEntriesPager()): return_value.this$0
    //#output(Pager getWeblogEntriesPager()): return_value.url
    //#output(Pager getWeblogEntriesPager()): return_value.urlStrategy
    //#output(Pager getWeblogEntriesPager()): return_value
    //#new obj(Pager getWeblogEntriesPager()): new ArrayList(getItems#1)
    //#new obj(Pager getWeblogEntriesPager()): new FeedModel$FeedEntriesPager(getWeblogEntriesPager#1)
    //#pre[4] (Pager getWeblogEntriesPager()): this.feedRequest != null
    //#pre[5] (Pager getWeblogEntriesPager()): this.urlStrategy != null
    //#pre[1] (Pager getWeblogEntriesPager()): (soft) DEFAULT_ENTRIES <= 4_294_967_294
    //#pre[2] (Pager getWeblogEntriesPager()): (soft) org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.log != null
    //#post(Pager getWeblogEntriesPager()): return_value == &new FeedModel$FeedEntriesPager(getWeblogEntriesPager#1)
    //#post(Pager getWeblogEntriesPager()): new ArrayList(getItems#1) num objects == 1
    //#post(Pager getWeblogEntriesPager()): new FeedModel$FeedEntriesPager(getWeblogEntriesPager#1) num objects == 1
    //#post(Pager getWeblogEntriesPager()): return_value.__Tag == org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager
    //#post(Pager getWeblogEntriesPager()): return_value.entries == &new ArrayList(getItems#1)
    //#post(Pager getWeblogEntriesPager()): return_value.feedRequest == this.feedRequest
    //#post(Pager getWeblogEntriesPager()): return_value.feedRequest != null
    //#post(Pager getWeblogEntriesPager()): init'ed(return_value.lastUpdated)
    //#post(Pager getWeblogEntriesPager()): return_value.length == DEFAULT_ENTRIES
    //#post(Pager getWeblogEntriesPager()): (soft) return_value.length <= 4_294_967_294
    //#post(Pager getWeblogEntriesPager()): init'ed(return_value.locale)
    //#post(Pager getWeblogEntriesPager()): init'ed(return_value.more)
    //#post(Pager getWeblogEntriesPager()): return_value.page >= 0
    //#post(Pager getWeblogEntriesPager()): init'ed(return_value.queryCat)
    //#post(Pager getWeblogEntriesPager()): init'ed(return_value.queryTags)
    //#post(Pager getWeblogEntriesPager()): return_value.queryUser == null
    //#post(Pager getWeblogEntriesPager()): init'ed(return_value.queryWeblog)
    //#post(Pager getWeblogEntriesPager()): return_value.sinceDays == -1
    //#post(Pager getWeblogEntriesPager()): return_value.this$0 == this
    //#post(Pager getWeblogEntriesPager()): return_value.this$0 != null
    //#post(Pager getWeblogEntriesPager()): init'ed(return_value.url)
    //#post(Pager getWeblogEntriesPager()): return_value.urlStrategy == this.urlStrategy
    //#post(Pager getWeblogEntriesPager()): return_value.urlStrategy != null
    //#post(Pager getWeblogEntriesPager()): DEFAULT_ENTRIES*return_value.page in -2_147_483_648..4_294_967_295
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblog
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getLocale
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getType
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getFormat
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.business.URLStrategy:getWeblogFeedURL
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getPage
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.util.List:size
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.util.Date
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.util.Calendar:getInstance
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.util.Calendar:setTime
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.util.Calendar:add
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.util.Calendar:getTime
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.business.Weblogger:getWeblogManager
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.business.Weblogger:getUserManager
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.roller.weblogger.business.WeblogManager:getWeblogEntries
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.util.List:add
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(Pager getWeblogEntriesPager()): Effects-of-calling:org.apache.commons.logging.Log:error
    //#FeedModel.java:124: end of method: Pager org.apache.roller.weblogger.ui.rendering.model.FeedModel.getWeblogEntriesPager()
    }
    
    
    /**
     * Gets most recent comments limited by: weblog specified in request and 
     * the weblog.entryDisplayCount.
     */
    public Pager getCommentsPager() {
        return new FeedCommentsPager(feedRequest);
    //#FeedModel.java:133: method: Pager org.apache.roller.weblogger.ui.rendering.model.FeedModel.getCommentsPager()
    //#input(Pager getCommentsPager()): DEFAULT_ENTRIES
    //#input(Pager getCommentsPager()): org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager.__Dispatch_Table.getItems()Ljava/util/List;
    //#input(Pager getCommentsPager()): org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager.__Dispatch_Table.getPage()I
    //#input(Pager getCommentsPager()): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager]
    //#input(Pager getCommentsPager()): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager]
    //#input(Pager getCommentsPager()): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Descendant_Table[others]
    //#input(Pager getCommentsPager()): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Dispatch_Table.getItems()Ljava/util/List;
    //#input(Pager getCommentsPager()): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Dispatch_Table.getPage()I
    //#input(Pager getCommentsPager()): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.log
    //#input(Pager getCommentsPager()): this
    //#input(Pager getCommentsPager()): this.feedRequest
    //#input(Pager getCommentsPager()): this.urlStrategy
    //#output(Pager getCommentsPager()): new ArrayList(getItems#1) num objects
    //#output(Pager getCommentsPager()): new FeedModel$FeedCommentsPager(getCommentsPager#1) num objects
    //#output(Pager getCommentsPager()): return_value.__Tag
    //#output(Pager getCommentsPager()): return_value.comments
    //#output(Pager getCommentsPager()): return_value.feedRequest
    //#output(Pager getCommentsPager()): return_value.lastUpdated
    //#output(Pager getCommentsPager()): return_value.length
    //#output(Pager getCommentsPager()): return_value.locale
    //#output(Pager getCommentsPager()): return_value.more
    //#output(Pager getCommentsPager()): return_value.page
    //#output(Pager getCommentsPager()): return_value.sinceDays
    //#output(Pager getCommentsPager()): return_value.this$0
    //#output(Pager getCommentsPager()): return_value.url
    //#output(Pager getCommentsPager()): return_value.urlStrategy
    //#output(Pager getCommentsPager()): return_value.weblog
    //#output(Pager getCommentsPager()): return_value
    //#new obj(Pager getCommentsPager()): new ArrayList(getItems#1)
    //#new obj(Pager getCommentsPager()): new FeedModel$FeedCommentsPager(getCommentsPager#1)
    //#pre[4] (Pager getCommentsPager()): this.feedRequest != null
    //#pre[5] (Pager getCommentsPager()): this.urlStrategy != null
    //#pre[1] (Pager getCommentsPager()): (soft) DEFAULT_ENTRIES <= 4_294_967_294
    //#pre[2] (Pager getCommentsPager()): (soft) org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.log != null
    //#post(Pager getCommentsPager()): return_value == &new FeedModel$FeedCommentsPager(getCommentsPager#1)
    //#post(Pager getCommentsPager()): new ArrayList(getItems#1) num objects == 1
    //#post(Pager getCommentsPager()): new FeedModel$FeedCommentsPager(getCommentsPager#1) num objects == 1
    //#post(Pager getCommentsPager()): return_value.__Tag == org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager
    //#post(Pager getCommentsPager()): return_value.comments == &new ArrayList(getItems#1)
    //#post(Pager getCommentsPager()): return_value.feedRequest == this.feedRequest
    //#post(Pager getCommentsPager()): return_value.feedRequest != null
    //#post(Pager getCommentsPager()): init'ed(return_value.lastUpdated)
    //#post(Pager getCommentsPager()): return_value.length == DEFAULT_ENTRIES
    //#post(Pager getCommentsPager()): (soft) return_value.length <= 4_294_967_294
    //#post(Pager getCommentsPager()): init'ed(return_value.locale)
    //#post(Pager getCommentsPager()): init'ed(return_value.more)
    //#post(Pager getCommentsPager()): return_value.page >= 0
    //#post(Pager getCommentsPager()): return_value.sinceDays == -1
    //#post(Pager getCommentsPager()): return_value.this$0 == this
    //#post(Pager getCommentsPager()): return_value.this$0 != null
    //#post(Pager getCommentsPager()): init'ed(return_value.url)
    //#post(Pager getCommentsPager()): return_value.urlStrategy == this.urlStrategy
    //#post(Pager getCommentsPager()): return_value.urlStrategy != null
    //#post(Pager getCommentsPager()): init'ed(return_value.weblog)
    //#post(Pager getCommentsPager()): DEFAULT_ENTRIES*return_value.page in -2_147_483_648..4_294_967_295
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblog
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getLocale
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getType
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getFormat
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.roller.weblogger.business.URLStrategy:getWeblogFeedURL
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getPage
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.pagers.CommentsPager
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:java.util.Date
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:getPage
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:java.util.Calendar:getInstance
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:java.util.Calendar:setTime
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:java.util.Calendar:add
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:java.util.Calendar:getTime
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.roller.weblogger.business.Weblogger:getWeblogManager
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.roller.weblogger.business.WeblogManager:getComments
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:java.util.List:add
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.commons.logging.Log:error
    //#unanalyzed(Pager getCommentsPager()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.pagers.AbstractPager
    //#FeedModel.java:133: end of method: Pager org.apache.roller.weblogger.ui.rendering.model.FeedModel.getCommentsPager()
    }    
        
    /**
     * Returns the list of tags specified in the request /?tags=foo+bar
     * @return
     */
    public List getTags() {
        return feedRequest.getTags();
    //#FeedModel.java:141: method: List org.apache.roller.weblogger.ui.rendering.model.FeedModel.getTags()
    //#FeedModel.java:141: Warning: method not available
    //#    -- call on List org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel
    //#    method: List getTags()
    //#    unanalyzed callee: List org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags()
    //#input(List getTags()): this
    //#input(List getTags()): this.feedRequest
    //#output(List getTags()): return_value
    //#pre[2] (List getTags()): this.feedRequest != null
    //#post(List getTags()): init'ed(return_value)
    //#FeedModel.java:141: end of method: List org.apache.roller.weblogger.ui.rendering.model.FeedModel.getTags()
    }    

    public class FeedEntriesPager extends WeblogEntriesListPager {
        
        private WeblogFeedRequest feedRequest;
        
        public FeedEntriesPager(WeblogFeedRequest feedRequest) {
    //#FeedModel.java:148: method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager.org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)
    //#FeedModel.java:148: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)
    //#    suspicious precondition index: [4]
    //#    Attribs:  Soft
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Param_1
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Param_1.urlStrategy
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): __Dispatch_Table.getItems()Ljava/util/List;
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): __Dispatch_Table.getPage()I
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): feedRequest
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/model/FeedModel.DEFAULT_ENTRIES
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager]
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager]
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Descendant_Table[others]
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Dispatch_Table.getItems()Ljava/util/List;
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Dispatch_Table.getPage()I
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.log
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.__Tag
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): new ArrayList(getItems#1) num objects
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.__Tag
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.entries
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.feedRequest
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.lastUpdated
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.length
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.locale
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.more
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.page
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.queryCat
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.queryTags
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.queryUser
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.queryWeblog
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.sinceDays
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.this$0
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.url
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.urlStrategy
    //#new obj(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): new ArrayList(getItems#1)
    //#pre[1] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Param_1 != null
    //#pre[2] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Param_1.urlStrategy != null
    //#pre[3] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): feedRequest != null
    //#pre[4] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): (soft) this.__Tag in {org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager}
    //#pre[5] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): (soft) org/apache/roller/weblogger/ui/rendering/model/FeedModel.DEFAULT_ENTRIES <= 4_294_967_294
    //#pre[6] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): (soft) org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.log != null
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.__Tag == old this.__Tag
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): (soft) this.__Tag in {org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager, org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager}
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.entries == &new ArrayList(getItems#1)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.feedRequest == feedRequest
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.feedRequest != null
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): init'ed(this.lastUpdated)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.length == org/apache/roller/weblogger/ui/rendering/model/FeedModel.DEFAULT_ENTRIES
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): (soft) this.length <= 4_294_967_294
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): init'ed(this.locale)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): init'ed(this.more)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.page >= 0
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): init'ed(this.queryCat)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): init'ed(this.queryTags)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.queryUser == null
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): init'ed(this.queryWeblog)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.sinceDays == -1
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.this$0 == Param_1
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.this$0 != null
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): init'ed(this.url)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.urlStrategy == Param_1.urlStrategy
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): this.urlStrategy != null
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): new ArrayList(getItems#1) num objects == 1
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/model/FeedModel.DEFAULT_ENTRIES*this.page in -2_147_483_648..4_294_967_295
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.List:size
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Date
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Calendar:getInstance
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Calendar:setTime
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Calendar:add
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Calendar:getTime
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:org.apache.roller.weblogger.business.Weblogger:getWeblogManager
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:org.apache.roller.weblogger.business.Weblogger:getUserManager
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:org.apache.roller.weblogger.business.WeblogManager:getWeblogEntries
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.List:add
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:org.apache.commons.logging.Log:error
            super(urlStrategy, urlStrategy.getWeblogFeedURL(feedRequest.getWeblog(), 
    //#FeedModel.java:149: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblog()
    //#FeedModel.java:149: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getLocale()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getLocale()
    //#FeedModel.java:149: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getType()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getType()
    //#FeedModel.java:149: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getFormat()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getFormat()
    //#FeedModel.java:149: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.business.URLStrategy:getWeblogFeedURL(Weblog, String, String, String, String, String, List, bool, bool)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: String org.apache.roller.weblogger.business.URLStrategy:getWeblogFeedURL(Weblog, String, String, String, String, String, List, bool, bool)
    //#FeedModel.java:149: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName()
    //#FeedModel.java:149: Warning: method not available
    //#    -- call on List org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: List org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags()
    //#FeedModel.java:149: Warning: method not available
    //#    -- call on int org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getPage()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: int org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getPage()
                    feedRequest.getLocale(), feedRequest.getType(),
                    feedRequest.getFormat(), null, null, null, false, true), 
                    feedRequest.getWeblog(), null, feedRequest.getWeblogCategoryName(), feedRequest.getTags(),
                    feedRequest.getLocale(), -1, feedRequest.getPage(), DEFAULT_ENTRIES);
            this.feedRequest = feedRequest;
        }
    //#FeedModel.java:155: end of method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager.org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager(FeedModel, WeblogFeedRequest)
        
        protected String createURL(String url, Map params) {
            List tags = feedRequest.getTags();
    //#FeedModel.java:158: method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager.createURL(String, Map)
    //#FeedModel.java:158: Warning: method not available
    //#    -- call on List org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: String createURL(String, Map)
    //#    unanalyzed callee: List org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags()
    //#input(String createURL(String, Map)): "&amp;"._tainted
    //#input(String createURL(String, Map)): "+"._tainted
    //#input(String createURL(String, Map)): "="._tainted
    //#input(String createURL(String, Map)): "?"._tainted
    //#input(String createURL(String, Map)): params
    //#input(String createURL(String, Map)): this
    //#input(String createURL(String, Map)): this.feedRequest
    //#input(String createURL(String, Map)): url
    //#input(String createURL(String, Map)): url._tainted
    //#output(String createURL(String, Map)): java.lang.StringBuilder:toString(...)._tainted
    //#output(String createURL(String, Map)): return_value
    //#new obj(String createURL(String, Map)): java.lang.StringBuilder:toString(...)
    //#pre[3] (String createURL(String, Map)): this.feedRequest != null
    //#pre[1] (String createURL(String, Map)): (soft) params != null
    //#post(String createURL(String, Map)): init'ed(java.lang.StringBuilder:toString(...)._tainted)
    //#post(String createURL(String, Map)): return_value == &java.lang.StringBuilder:toString(...)
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuffer
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuffer:append
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuffer:toString
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.net.URLEncoder:encode
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.List:size
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.Map:keySet
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.Map:get
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuffer:length
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuilder:toString
    //#test_vector(String createURL(String, Map)): java.lang.String:length(...)@163: {0}, {1..4_294_967_295}
    //#test_vector(String createURL(String, Map)): java.util.List:size(...)@159: {-2_147_483_648..0}, {1..4_294_967_295}
    //#test_vector(String createURL(String, Map)): org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags(...)@158: Addr_Set{null}, Inverse{null}
    //#test_vector(String createURL(String, Map)): org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName(...)@162: Addr_Set{null}, Inverse{null}
    //#test_vector(String createURL(String, Map)): org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:isExcerpts(...)@166: {0}, {1}
            if(tags != null && tags.size() > 0) {
                params.put("tags", URLUtilities.getEncodedTagsString(tags));
            }
            String category = feedRequest.getWeblogCategoryName();
    //#FeedModel.java:162: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: String createURL(String, Map)
    //#    unanalyzed callee: String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName()
            if(category != null && category.trim().length() > 0) {
                params.put("cat", URLUtilities.encode(category));
            }  
            if(feedRequest.isExcerpts()) {
    //#FeedModel.java:166: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:isExcerpts()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
    //#    method: String createURL(String, Map)
    //#    unanalyzed callee: bool org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:isExcerpts()
                params.put("excerpts", "true");
            }            
            return super.createURL(url, params);
    //#FeedModel.java:169: end of method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager.createURL(String, Map)
        }
        
        public String getUrl() {
            return createURL(super.getUrl(), new HashMap());
    //#FeedModel.java:173: method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager.getUrl()
    //#input(String getUrl()): "&amp;"._tainted
    //#input(String getUrl()): "+"._tainted
    //#input(String getUrl()): "="._tainted
    //#input(String getUrl()): "?"._tainted
    //#input(String getUrl()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager]
    //#input(String getUrl()): __Descendant_Table[others]
    //#input(String getUrl()): __Dispatch_Table.createURL(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
    //#input(String getUrl()): this
    //#input(String getUrl()): this.__Tag
    //#input(String getUrl()): this.feedRequest
    //#input(String getUrl()): this.url
    //#input(String getUrl()): this.url._tainted
    //#output(String getUrl()): java.lang.StringBuilder:toString(...)._tainted
    //#output(String getUrl()): return_value
    //#new obj(String getUrl()): java.lang.StringBuilder:toString(...)
    //#pre[2] (String getUrl()): this.__Tag == org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager
    //#pre[3] (String getUrl()): this.feedRequest != null
    //#pre[4] (String getUrl()): init'ed(this.url)
    //#post(String getUrl()): init'ed(java.lang.StringBuilder:toString(...)._tainted)
    //#post(String getUrl()): return_value == &java.lang.StringBuilder:toString(...)
    //#unanalyzed(String getUrl()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName
    //#unanalyzed(String getUrl()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.List:size
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuffer
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuffer:append
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuffer:toString
    //#unanalyzed(String getUrl()): Effects-of-calling:java.net.URLEncoder:encode
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Map:put
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.String:trim
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.String:length
    //#unanalyzed(String getUrl()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:isExcerpts
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Map:keySet
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Map:get
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuffer:length
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuilder:toString
    //#FeedModel.java:173: end of method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager.getUrl()
        }
    }
    
    public class FeedCommentsPager extends CommentsPager {
    //#FeedModel.java:177: end of method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel.org.apache.roller.weblogger.ui.rendering.model.FeedModel()
        
        private WeblogFeedRequest feedRequest;
        
        public FeedCommentsPager(WeblogFeedRequest feedRequest) {            
    //#FeedModel.java:181: method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager.org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)
    //#FeedModel.java:181: Warning: suspicious precondition
    //#    the precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)
    //#    suspicious precondition index: [4]
    //#    Attribs:  Soft
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Param_1
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Param_1.urlStrategy
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): __Dispatch_Table.getItems()Ljava/util/List;
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): __Dispatch_Table.getPage()I
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): feedRequest
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/model/FeedModel.DEFAULT_ENTRIES
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager]
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager]
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Descendant_Table[others]
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Dispatch_Table.getItems()Ljava/util/List;
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Dispatch_Table.getPage()I
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.log
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this
    //#input(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.__Tag
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): new ArrayList(getItems#1) num objects
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.__Tag
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.comments
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.feedRequest
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.lastUpdated
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.length
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.locale
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.more
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.page
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.sinceDays
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.this$0
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.url
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.urlStrategy
    //#output(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.weblog
    //#new obj(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): new ArrayList(getItems#1)
    //#pre[1] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Param_1 != null
    //#pre[2] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Param_1.urlStrategy != null
    //#pre[3] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): feedRequest != null
    //#pre[4] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): (soft) this.__Tag in {org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager, org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager}
    //#pre[5] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): (soft) org/apache/roller/weblogger/ui/rendering/model/FeedModel.DEFAULT_ENTRIES <= 4_294_967_294
    //#pre[6] (void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): (soft) org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.log != null
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.__Tag == old this.__Tag
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): (soft) this.__Tag in {org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager, org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager}
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.comments == &new ArrayList(getItems#1)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.feedRequest == feedRequest
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.feedRequest != null
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): init'ed(this.lastUpdated)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.length == org/apache/roller/weblogger/ui/rendering/model/FeedModel.DEFAULT_ENTRIES
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): (soft) this.length <= 4_294_967_294
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): init'ed(this.locale)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): init'ed(this.more)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.page >= 0
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.sinceDays == -1
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.this$0 == Param_1
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.this$0 != null
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): init'ed(this.url)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.urlStrategy == Param_1.urlStrategy
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): this.urlStrategy != null
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): init'ed(this.weblog)
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): new ArrayList(getItems#1) num objects == 1
    //#post(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): org/apache/roller/weblogger/ui/rendering/model/FeedModel.DEFAULT_ENTRIES*this.page in -2_147_483_648..4_294_967_295
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Date
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:getPage
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.ArrayList
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Calendar:getInstance
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Calendar:setTime
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Calendar:add
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.Calendar:getTime
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:org.apache.roller.weblogger.business.Weblogger:getWeblogManager
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:org.apache.roller.weblogger.business.WeblogManager:getComments
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.util.List:add
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:org.apache.commons.logging.Log:error
    //#unanalyzed(void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.pagers.AbstractPager
            super(urlStrategy, urlStrategy.getWeblogFeedURL(feedRequest.getWeblog(), 
    //#FeedModel.java:182: Warning: method not available
    //#    -- call on Weblog org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblog()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: Weblog org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblog()
    //#FeedModel.java:182: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getLocale()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getLocale()
    //#FeedModel.java:182: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getType()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getType()
    //#FeedModel.java:182: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getFormat()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getFormat()
    //#FeedModel.java:182: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.business.URLStrategy:getWeblogFeedURL(Weblog, String, String, String, String, String, List, bool, bool)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: String org.apache.roller.weblogger.business.URLStrategy:getWeblogFeedURL(Weblog, String, String, String, String, String, List, bool, bool)
    //#FeedModel.java:182: Warning: method not available
    //#    -- call on int org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getPage()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#    method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)
    //#    unanalyzed callee: int org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getPage()
                    feedRequest.getLocale(), feedRequest.getType(),
                    feedRequest.getFormat(), null, null,
                    null, false, true), feedRequest.getWeblog(), feedRequest.getLocale(), -1, feedRequest.getPage(), DEFAULT_ENTRIES);
            this.feedRequest = feedRequest;
        }
    //#FeedModel.java:187: end of method: void org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager.org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager(FeedModel, WeblogFeedRequest)
        
        protected String createURL(String url, Map params) {
            List tags = feedRequest.getTags();
    //#FeedModel.java:190: method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager.createURL(String, Map)
    //#FeedModel.java:190: Warning: method not available
    //#    -- call on List org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#    method: String createURL(String, Map)
    //#    unanalyzed callee: List org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags()
    //#input(String createURL(String, Map)): "&amp;"._tainted
    //#input(String createURL(String, Map)): "+"._tainted
    //#input(String createURL(String, Map)): "="._tainted
    //#input(String createURL(String, Map)): "?"._tainted
    //#input(String createURL(String, Map)): params
    //#input(String createURL(String, Map)): this
    //#input(String createURL(String, Map)): this.feedRequest
    //#input(String createURL(String, Map)): url
    //#input(String createURL(String, Map)): url._tainted
    //#output(String createURL(String, Map)): java.lang.StringBuilder:toString(...)._tainted
    //#output(String createURL(String, Map)): return_value
    //#new obj(String createURL(String, Map)): java.lang.StringBuilder:toString(...)
    //#pre[3] (String createURL(String, Map)): this.feedRequest != null
    //#pre[1] (String createURL(String, Map)): (soft) params != null
    //#post(String createURL(String, Map)): init'ed(java.lang.StringBuilder:toString(...)._tainted)
    //#post(String createURL(String, Map)): return_value == &java.lang.StringBuilder:toString(...)
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuffer
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuffer:append
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuffer:toString
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.net.URLEncoder:encode
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.List:size
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.Map:keySet
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.util.Map:get
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuffer:length
    //#unanalyzed(String createURL(String, Map)): Effects-of-calling:java.lang.StringBuilder:toString
    //#test_vector(String createURL(String, Map)): java.lang.String:length(...)@195: {0}, {1..4_294_967_295}
    //#test_vector(String createURL(String, Map)): java.util.List:size(...)@191: {-2_147_483_648..0}, {1..4_294_967_295}
    //#test_vector(String createURL(String, Map)): org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags(...)@190: Addr_Set{null}, Inverse{null}
    //#test_vector(String createURL(String, Map)): org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName(...)@194: Addr_Set{null}, Inverse{null}
    //#test_vector(String createURL(String, Map)): org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:isExcerpts(...)@198: {0}, {1}
            if(tags != null && tags.size() > 0) {
                params.put("tags", URLUtilities.getEncodedTagsString(tags));
            }
            String category = feedRequest.getWeblogCategoryName();
    //#FeedModel.java:194: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#    method: String createURL(String, Map)
    //#    unanalyzed callee: String org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName()
            if(category != null && category.trim().length() > 0) {
                params.put("cat", URLUtilities.encode(category));
            }  
            if(feedRequest.isExcerpts()) {
    //#FeedModel.java:198: Warning: method not available
    //#    -- call on bool org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:isExcerpts()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#    method: String createURL(String, Map)
    //#    unanalyzed callee: bool org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:isExcerpts()
                params.put("excerpts", "true");
            }   
            return super.createURL(url, params);
    //#FeedModel.java:201: end of method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager.createURL(String, Map)
        }
        
        public String getUrl() {
            return createURL(super.getUrl(), new HashMap());
    //#FeedModel.java:205: method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager.getUrl()
    //#input(String getUrl()): "&amp;"._tainted
    //#input(String getUrl()): "+"._tainted
    //#input(String getUrl()): "="._tainted
    //#input(String getUrl()): "?"._tainted
    //#input(String getUrl()): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager]
    //#input(String getUrl()): __Descendant_Table[others]
    //#input(String getUrl()): __Dispatch_Table.createURL(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
    //#input(String getUrl()): this
    //#input(String getUrl()): this.__Tag
    //#input(String getUrl()): this.feedRequest
    //#input(String getUrl()): this.url
    //#input(String getUrl()): this.url._tainted
    //#output(String getUrl()): java.lang.StringBuilder:toString(...)._tainted
    //#output(String getUrl()): return_value
    //#new obj(String getUrl()): java.lang.StringBuilder:toString(...)
    //#pre[2] (String getUrl()): this.__Tag == org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager
    //#pre[3] (String getUrl()): this.feedRequest != null
    //#pre[4] (String getUrl()): init'ed(this.url)
    //#post(String getUrl()): init'ed(java.lang.StringBuilder:toString(...)._tainted)
    //#post(String getUrl()): return_value == &java.lang.StringBuilder:toString(...)
    //#unanalyzed(String getUrl()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getTags
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.List:size
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuffer
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuffer:append
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuffer:toString
    //#unanalyzed(String getUrl()): Effects-of-calling:java.net.URLEncoder:encode
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Map:put
    //#unanalyzed(String getUrl()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:getWeblogCategoryName
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.String:trim
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.String:length
    //#unanalyzed(String getUrl()): Effects-of-calling:org.apache.roller.weblogger.ui.rendering.util.WeblogFeedRequest:isExcerpts
    //#unanalyzed(String getUrl()): Effects-of-calling:createURL
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Map:keySet
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Set:iterator
    //#unanalyzed(String getUrl()): Effects-of-calling:java.util.Map:get
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuffer:length
    //#unanalyzed(String getUrl()): Effects-of-calling:java.lang.StringBuilder:toString
    //#FeedModel.java:205: end of method: String org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager.getUrl()
        }
    }      
}
    //#FeedModel.java:: end of class: org.apache.roller.weblogger.ui.rendering.model.FeedModel
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager]
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.createURL(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getHomeLink()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getHomeName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getItems()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getLastUpdated()Ljava/util/Date;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getNextLink()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getNextName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getPage()I
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getPrevLink()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getPrevName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getUrl()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.hasMoreItems()Z
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.setPage(I)V
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.setUrl(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager]
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager]
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/Pager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager]
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/Pager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedCommentsPager] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.createURL(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String; == &createURL
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getHomeLink()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getHomeLink
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getHomeName()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getHomeName
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getItems()Ljava/util/List; == &org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.getItems
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getLastUpdated()Ljava/util/Date; == &org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.getLastUpdated
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getNextLink()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getNextLink
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getNextName()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getNextName
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getPage()I == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getPage
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getPrevLink()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getPrevLink
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getPrevName()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getPrevName
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.getUrl()Ljava/lang/String; == &getUrl
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.hasMoreItems()Z == &org/apache/roller/weblogger/ui/rendering/pagers/CommentsPager.hasMoreItems
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.setPage(I)V == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.setPage
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init): __Dispatch_Table.setUrl(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.setUrl
    //#FeedModel.java:: end of method: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager.org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager__static_init
    //#FeedModel.java:: end of class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedCommentsPager
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager]
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.createURL(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getHomeLink()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getHomeName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getItems()Ljava/util/List;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getLastUpdated()Ljava/util/Date;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getNextLink()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getNextName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getPage()I
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getPrevLink()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getPrevName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getUrl()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.hasMoreItems()Z
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.setPage(I)V
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.setUrl(Ljava/lang/String;)V
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager]
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/Pager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager]
    //#output(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager]
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/Pager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.__Descendant_Table[org/apache/roller/weblogger/ui/rendering/model/FeedModel$FeedEntriesPager] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.createURL(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/String; == &createURL
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getHomeLink()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getHomeLink
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getHomeName()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getHomeName
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getItems()Ljava/util/List; == &org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.getItems
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getLastUpdated()Ljava/util/Date; == &org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.getLastUpdated
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getNextLink()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getNextLink
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getNextName()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getNextName
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getPage()I == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getPage
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getPrevLink()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getPrevLink
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getPrevName()Ljava/lang/String; == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.getPrevName
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.getUrl()Ljava/lang/String; == &getUrl
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.hasMoreItems()Z == &org/apache/roller/weblogger/ui/rendering/pagers/WeblogEntriesListPager.hasMoreItems
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.setPage(I)V == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.setPage
    //#post(org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init): __Dispatch_Table.setUrl(Ljava/lang/String;)V == &org/apache/roller/weblogger/ui/rendering/pagers/AbstractPager.setUrl
    //#FeedModel.java:: end of method: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager.org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager__static_init
    //#FeedModel.java:: end of class: org.apache.roller.weblogger.ui.rendering.model.FeedModel$FeedEntriesPager
