//# 3 errors, 265 messages
//#
/*
    //#WeblogBookmarkFolderWrapper.java:1:1: class: org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper
    //#WeblogBookmarkFolderWrapper.java:1:1: method: org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__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.pojos.wrapper;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.pojos.BookmarkComparator;
import org.apache.roller.weblogger.pojos.WeblogBookmark;
import org.apache.roller.weblogger.pojos.WeblogBookmarkFolder;


/**
 * Pojo safety wrapper for WeblogBookmarkFolder object.
 */
public class WeblogBookmarkFolderWrapper {
    
    // keep a reference to the wrapped pojo
    private final WeblogBookmarkFolder pojo;
    
    // this is private so that we can force the use of the .wrap(pojo) method
    private WeblogBookmarkFolderWrapper(WeblogBookmarkFolder toWrap) {
    //#WeblogBookmarkFolderWrapper.java:41: method: void org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper(WeblogBookmarkFolder)
    //#input(void org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper(WeblogBookmarkFolder)): this
    //#input(void org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper(WeblogBookmarkFolder)): toWrap
    //#output(void org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper(WeblogBookmarkFolder)): this.pojo
    //#post(void org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper(WeblogBookmarkFolder)): this.pojo == toWrap
    //#post(void org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper(WeblogBookmarkFolder)): init'ed(this.pojo)
        this.pojo = toWrap;
    }
    //#WeblogBookmarkFolderWrapper.java:43: end of method: void org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper(WeblogBookmarkFolder)
    
    
    // wrap the given pojo if it is not null
    public static WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder toWrap) {
        if(toWrap != null)
    //#WeblogBookmarkFolderWrapper.java:48: method: WeblogBookmarkFolderWrapper org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.wrap(WeblogBookmarkFolder)
    //#input(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): toWrap
    //#output(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): new WeblogBookmarkFolderWrapper(wrap#1) num objects
    //#output(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): new WeblogBookmarkFolderWrapper(wrap#1).__Tag
    //#output(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): new WeblogBookmarkFolderWrapper(wrap#1).pojo
    //#output(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): return_value
    //#new obj(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): new WeblogBookmarkFolderWrapper(wrap#1)
    //#post(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): return_value == One-of{&new WeblogBookmarkFolderWrapper(wrap#1), null}
    //#post(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): return_value in Addr_Set{null,&new WeblogBookmarkFolderWrapper(wrap#1)}
    //#post(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): new WeblogBookmarkFolderWrapper(wrap#1) num objects <= 1
    //#post(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): new WeblogBookmarkFolderWrapper(wrap#1).__Tag == org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper
    //#post(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): new WeblogBookmarkFolderWrapper(wrap#1).pojo == toWrap
    //#post(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): new WeblogBookmarkFolderWrapper(wrap#1).pojo != null
    //#test_vector(WeblogBookmarkFolderWrapper wrap(WeblogBookmarkFolder)): toWrap: Addr_Set{null}, Inverse{null}
            return new WeblogBookmarkFolderWrapper(toWrap);
        
        return null;
    //#WeblogBookmarkFolderWrapper.java:51: end of method: WeblogBookmarkFolderWrapper org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.wrap(WeblogBookmarkFolder)
    }
    
    
    public String getId() {
        return this.pojo.getId();
    //#WeblogBookmarkFolderWrapper.java:56: method: String org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getId()
    //#input(String getId()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[org/apache/roller/weblogger/pojos/WeblogBookmarkFolder]
    //#input(String getId()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[others]
    //#input(String getId()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Dispatch_Table.getId()Ljava/lang/String;
    //#input(String getId()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount
    //#input(String getId()): this
    //#input(String getId()): this.pojo
    //#input(String getId()): this.pojo.__Tag
    //#input(String getId()): this.pojo.id
    //#input(String getId()): this.pojo.pcStateManager
    //#output(String getId()): return_value
    //#pre[3] (String getId()): this.pojo != null
    //#pre[4] (String getId()): this.pojo.__Tag == org/apache/roller/weblogger/pojos/WeblogBookmarkFolder
    //#pre[5] (String getId()): init'ed(this.pojo.id)
    //#pre[6] (String getId()): init'ed(this.pojo.pcStateManager)
    //#pre[1] (String getId()): (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 4_294_967_292
    //#post(String getId()): return_value == this.pojo.id
    //#post(String getId()): init'ed(return_value)
    //#unanalyzed(String getId()): Effects-of-calling:org.apache.openjpa.enhance.StateManager:accessingField
    //#WeblogBookmarkFolderWrapper.java:56: end of method: String org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getId()
    }
    
    
    public String getName() {
        return this.pojo.getName();
    //#WeblogBookmarkFolderWrapper.java:61: method: String org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getName()
    //#input(String getName()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[org/apache/roller/weblogger/pojos/WeblogBookmarkFolder]
    //#input(String getName()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[others]
    //#input(String getName()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Dispatch_Table.getName()Ljava/lang/String;
    //#input(String getName()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount
    //#input(String getName()): this
    //#input(String getName()): this.pojo
    //#input(String getName()): this.pojo.__Tag
    //#input(String getName()): this.pojo.name
    //#input(String getName()): this.pojo.pcStateManager
    //#output(String getName()): return_value
    //#pre[3] (String getName()): this.pojo != null
    //#pre[4] (String getName()): this.pojo.__Tag == org/apache/roller/weblogger/pojos/WeblogBookmarkFolder
    //#pre[5] (String getName()): init'ed(this.pojo.name)
    //#pre[6] (String getName()): init'ed(this.pojo.pcStateManager)
    //#pre[1] (String getName()): (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 4_294_967_291
    //#post(String getName()): return_value == this.pojo.name
    //#post(String getName()): init'ed(return_value)
    //#unanalyzed(String getName()): Effects-of-calling:org.apache.openjpa.enhance.StateManager:accessingField
    //#WeblogBookmarkFolderWrapper.java:61: end of method: String org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getName()
    }
    
    
    public String getDescription() {
        return this.pojo.getDescription();
    //#WeblogBookmarkFolderWrapper.java:66: method: String org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getDescription()
    //#input(String getDescription()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[org/apache/roller/weblogger/pojos/WeblogBookmarkFolder]
    //#input(String getDescription()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[others]
    //#input(String getDescription()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Dispatch_Table.getDescription()Ljava/lang/String;
    //#input(String getDescription()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount
    //#input(String getDescription()): this
    //#input(String getDescription()): this.pojo
    //#input(String getDescription()): this.pojo.__Tag
    //#input(String getDescription()): this.pojo.description
    //#input(String getDescription()): this.pojo.pcStateManager
    //#output(String getDescription()): return_value
    //#pre[3] (String getDescription()): this.pojo != null
    //#pre[4] (String getDescription()): this.pojo.__Tag == org/apache/roller/weblogger/pojos/WeblogBookmarkFolder
    //#pre[5] (String getDescription()): init'ed(this.pojo.description)
    //#pre[6] (String getDescription()): init'ed(this.pojo.pcStateManager)
    //#pre[1] (String getDescription()): (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 4_294_967_294
    //#post(String getDescription()): return_value == this.pojo.description
    //#post(String getDescription()): init'ed(return_value)
    //#unanalyzed(String getDescription()): Effects-of-calling:org.apache.openjpa.enhance.StateManager:accessingField
    //#WeblogBookmarkFolderWrapper.java:66: end of method: String org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getDescription()
    }
    
    
    public String getPath() {
        return this.pojo.getPath();
    //#WeblogBookmarkFolderWrapper.java:71: method: String org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getPath()
    //#input(String getPath()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[org/apache/roller/weblogger/pojos/WeblogBookmarkFolder]
    //#input(String getPath()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[others]
    //#input(String getPath()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Dispatch_Table.getPath()Ljava/lang/String;
    //#input(String getPath()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount
    //#input(String getPath()): this
    //#input(String getPath()): this.pojo
    //#input(String getPath()): this.pojo.__Tag
    //#input(String getPath()): this.pojo.path
    //#input(String getPath()): this.pojo.pcStateManager
    //#output(String getPath()): return_value
    //#pre[3] (String getPath()): this.pojo != null
    //#pre[4] (String getPath()): this.pojo.__Tag == org/apache/roller/weblogger/pojos/WeblogBookmarkFolder
    //#pre[5] (String getPath()): init'ed(this.pojo.path)
    //#pre[6] (String getPath()): init'ed(this.pojo.pcStateManager)
    //#pre[1] (String getPath()): (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 4_294_967_289
    //#post(String getPath()): return_value == this.pojo.path
    //#post(String getPath()): init'ed(return_value)
    //#unanalyzed(String getPath()): Effects-of-calling:org.apache.openjpa.enhance.StateManager:accessingField
    //#WeblogBookmarkFolderWrapper.java:71: end of method: String org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getPath()
    }
    
    // NOTE: removing this for 4.0 since there is really no need for this in templates
//    public WeblogWrapper getWebsite() {
//        return WeblogWrapper.wrap(this.pojo.getWebsite());
//    }
    
    
    public WeblogBookmarkFolderWrapper getParent() {
        return WeblogBookmarkFolderWrapper.wrap(this.pojo.getParent());
    //#WeblogBookmarkFolderWrapper.java:81: method: WeblogBookmarkFolderWrapper org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getParent()
    //#input(WeblogBookmarkFolderWrapper getParent()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[org/apache/roller/weblogger/pojos/WeblogBookmarkFolder]
    //#input(WeblogBookmarkFolderWrapper getParent()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[others]
    //#input(WeblogBookmarkFolderWrapper getParent()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Dispatch_Table.getParent()Lorg/apache/roller/weblogger/pojos/WeblogBookmarkFolder;
    //#input(WeblogBookmarkFolderWrapper getParent()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount
    //#input(WeblogBookmarkFolderWrapper getParent()): this
    //#input(WeblogBookmarkFolderWrapper getParent()): this.pojo
    //#input(WeblogBookmarkFolderWrapper getParent()): this.pojo.__Tag
    //#input(WeblogBookmarkFolderWrapper getParent()): this.pojo.parentFolder
    //#input(WeblogBookmarkFolderWrapper getParent()): this.pojo.pcStateManager
    //#output(WeblogBookmarkFolderWrapper getParent()): new WeblogBookmarkFolderWrapper(wrap#1) num objects
    //#output(WeblogBookmarkFolderWrapper getParent()): new WeblogBookmarkFolderWrapper(wrap#1).__Tag
    //#output(WeblogBookmarkFolderWrapper getParent()): new WeblogBookmarkFolderWrapper(wrap#1).pojo
    //#output(WeblogBookmarkFolderWrapper getParent()): return_value
    //#new obj(WeblogBookmarkFolderWrapper getParent()): new WeblogBookmarkFolderWrapper(wrap#1)
    //#pre[3] (WeblogBookmarkFolderWrapper getParent()): this.pojo != null
    //#pre[4] (WeblogBookmarkFolderWrapper getParent()): this.pojo.__Tag == org/apache/roller/weblogger/pojos/WeblogBookmarkFolder
    //#pre[5] (WeblogBookmarkFolderWrapper getParent()): this.pojo.parentFolder != null
    //#pre[6] (WeblogBookmarkFolderWrapper getParent()): init'ed(this.pojo.pcStateManager)
    //#pre[1] (WeblogBookmarkFolderWrapper getParent()): (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 4_294_967_290
    //#post(WeblogBookmarkFolderWrapper getParent()): return_value == &new WeblogBookmarkFolderWrapper(wrap#1)
    //#post(WeblogBookmarkFolderWrapper getParent()): new WeblogBookmarkFolderWrapper(wrap#1) num objects == 1
    //#post(WeblogBookmarkFolderWrapper getParent()): new WeblogBookmarkFolderWrapper(wrap#1).__Tag == org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper
    //#post(WeblogBookmarkFolderWrapper getParent()): new WeblogBookmarkFolderWrapper(wrap#1).pojo == this.pojo.parentFolder
    //#post(WeblogBookmarkFolderWrapper getParent()): new WeblogBookmarkFolderWrapper(wrap#1).pojo != null
    //#unanalyzed(WeblogBookmarkFolderWrapper getParent()): Effects-of-calling:org.apache.openjpa.enhance.StateManager:accessingField
    //#WeblogBookmarkFolderWrapper.java:81: end of method: WeblogBookmarkFolderWrapper org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getParent()
    }
    
    
    public List getFolders() {
        Set initialCollection = this.pojo.getFolders();
    //#WeblogBookmarkFolderWrapper.java:86: method: List org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getFolders()
    //#input(List getFolders()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[org/apache/roller/weblogger/pojos/WeblogBookmarkFolder]
    //#input(List getFolders()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[others]
    //#input(List getFolders()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Dispatch_Table.getFolders()Ljava/util/Set;
    //#input(List getFolders()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount
    //#input(List getFolders()): this
    //#input(List getFolders()): this.pojo
    //#input(List getFolders()): this.pojo.__Tag
    //#input(List getFolders()): this.pojo.childFolders
    //#input(List getFolders()): this.pojo.pcStateManager
    //#output(List getFolders()): new ArrayList(getFolders#1) num objects
    //#output(List getFolders()): return_value
    //#new obj(List getFolders()): new ArrayList(getFolders#1)
    //#pre[3] (List getFolders()): this.pojo != null
    //#pre[4] (List getFolders()): this.pojo.__Tag == org/apache/roller/weblogger/pojos/WeblogBookmarkFolder
    //#pre[5] (List getFolders()): this.pojo.childFolders != null
    //#pre[6] (List getFolders()): init'ed(this.pojo.pcStateManager)
    //#pre[1] (List getFolders()): (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 4_294_967_293
    //#presumption(List getFolders()): java.util.Iterator:next(...).__Tag@95 == org/apache/roller/weblogger/pojos/WeblogBookmarkFolder
    //#post(List getFolders()): return_value == &new ArrayList(getFolders#1)
    //#post(List getFolders()): new ArrayList(getFolders#1) num objects == 1
    //#unanalyzed(List getFolders()): Effects-of-calling:org.apache.openjpa.enhance.StateManager:accessingField
    //#test_vector(List getFolders()): java.util.Iterator:hasNext(...)@94: {0}, {1}
        
        // iterate through and wrap
        // we force the use of an ArrayList because it should be good enough to cover
        // for any Collection type we encounter.
        List wrappedCollection = new ArrayList(initialCollection.size());
        Iterator it = initialCollection.iterator();
        int i = 0;
        while(it.hasNext()) {
            wrappedCollection.add(i,WeblogBookmarkFolderWrapper.wrap((WeblogBookmarkFolder) it.next()));
            i++;
    //#WeblogBookmarkFolderWrapper.java:96: ?overflow
    //#    i in -2_147_483_649..4_294_967_294
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper
    //#    method: List getFolders()
    //#    basic block: bb_5
    //#    assertion: i in -2_147_483_649..4_294_967_294
    //#    VN: i + 1
    //#    Expected: {-2_147_483_648..4_294_967_295, Invalid}
    //#    Bad: {4_294_967_296}
    //#    Attribs:  Int  Bad singleton  Bad > Exp
        }
        
        return wrappedCollection;
    //#WeblogBookmarkFolderWrapper.java:99: end of method: List org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getFolders()
    }
    
        
    public List getBookmarks() {
        TreeSet initialCollection = new TreeSet(new BookmarkComparator());
    //#WeblogBookmarkFolderWrapper.java:104: method: List org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getBookmarks()
    //#WeblogBookmarkFolderWrapper.java:104: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.pojos.BookmarkComparator()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper
    //#    method: List getBookmarks()
    //#    unanalyzed callee: void org.apache.roller.weblogger.pojos.BookmarkComparator()
    //#input(List getBookmarks()): org/apache/roller/weblogger/pojos/WeblogBookmark.__Descendant_Table[org/apache/roller/weblogger/pojos/WeblogBookmark]
    //#input(List getBookmarks()): org/apache/roller/weblogger/pojos/WeblogBookmark.__Descendant_Table[others]
    //#input(List getBookmarks()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[org/apache/roller/weblogger/pojos/WeblogBookmarkFolder]
    //#input(List getBookmarks()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[others]
    //#input(List getBookmarks()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Dispatch_Table.getBookmarks()Ljava/util/Set;
    //#input(List getBookmarks()): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount
    //#input(List getBookmarks()): this
    //#input(List getBookmarks()): this.pojo
    //#input(List getBookmarks()): this.pojo.__Tag
    //#input(List getBookmarks()): this.pojo.bookmarks
    //#input(List getBookmarks()): this.pojo.pcStateManager
    //#output(List getBookmarks()): new ArrayList(getBookmarks#3) num objects
    //#output(List getBookmarks()): return_value
    //#new obj(List getBookmarks()): new ArrayList(getBookmarks#3)
    //#pre[3] (List getBookmarks()): this.pojo != null
    //#pre[4] (List getBookmarks()): this.pojo.__Tag == org/apache/roller/weblogger/pojos/WeblogBookmarkFolder
    //#pre[5] (List getBookmarks()): init'ed(this.pojo.bookmarks)
    //#pre[6] (List getBookmarks()): init'ed(this.pojo.pcStateManager)
    //#pre[1] (List getBookmarks()): (soft) init'ed(org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount)
    //#presumption(List getBookmarks()): java.util.Iterator:next(...).__Tag@114 == org/apache/roller/weblogger/pojos/WeblogBookmark
    //#post(List getBookmarks()): return_value == &new ArrayList(getBookmarks#3)
    //#post(List getBookmarks()): new ArrayList(getBookmarks#3) num objects == 1
    //#unanalyzed(List getBookmarks()): Effects-of-calling:org.apache.openjpa.enhance.StateManager:accessingField
    //#test_vector(List getBookmarks()): java.util.Iterator:hasNext(...)@113: {0}, {1}
        initialCollection.addAll(this.pojo.getBookmarks());
        
        // iterate through and wrap
        // we force the use of an ArrayList because it should be good enough to cover
        // for any Collection type we encounter.
        ArrayList wrappedCollection = new ArrayList(initialCollection.size());
        Iterator it = initialCollection.iterator();
        int i = 0;
        while(it.hasNext()) {
            wrappedCollection.add(i,WeblogBookmarkWrapper.wrap((WeblogBookmark) it.next()));
    //#WeblogBookmarkFolderWrapper.java:114: Warning: method not available
    //#    -- call on WeblogBookmarkWrapper org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkWrapper:wrap(WeblogBookmark)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper
    //#    method: List getBookmarks()
    //#    unanalyzed callee: WeblogBookmarkWrapper org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkWrapper:wrap(WeblogBookmark)
            i++;
    //#WeblogBookmarkFolderWrapper.java:115: ?overflow
    //#    i in -2_147_483_649..4_294_967_294
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper
    //#    method: List getBookmarks()
    //#    basic block: bb_5
    //#    assertion: i in -2_147_483_649..4_294_967_294
    //#    VN: i + 1
    //#    Expected: {-2_147_483_648..4_294_967_295, Invalid}
    //#    Bad: {4_294_967_296}
    //#    Attribs:  Int  Bad singleton  Bad > Exp
        }
        
        return wrappedCollection;
    //#WeblogBookmarkFolderWrapper.java:118: end of method: List org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.getBookmarks()
    }    
        
    
    public List retrieveBookmarks(boolean subfolders)
            throws WebloggerException {
        
        List initialCollection = this.pojo.retrieveBookmarks(subfolders);
    //#WeblogBookmarkFolderWrapper.java:125: method: List org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.retrieveBookmarks(bool)
    //#input(List retrieveBookmarks(bool)): org/apache/roller/weblogger/pojos/WeblogBookmark.__Descendant_Table[org/apache/roller/weblogger/pojos/WeblogBookmark]
    //#input(List retrieveBookmarks(bool)): org/apache/roller/weblogger/pojos/WeblogBookmark.__Descendant_Table[others]
    //#input(List retrieveBookmarks(bool)): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[org/apache/roller/weblogger/pojos/WeblogBookmarkFolder]
    //#input(List retrieveBookmarks(bool)): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[others]
    //#input(List retrieveBookmarks(bool)): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Dispatch_Table.retrieveBookmarks(Z)Ljava/util/List;
    //#input(List retrieveBookmarks(bool)): subfolders
    //#input(List retrieveBookmarks(bool)): this
    //#input(List retrieveBookmarks(bool)): this.pojo
    //#input(List retrieveBookmarks(bool)): this.pojo.__Tag
    //#output(List retrieveBookmarks(bool)): new ArrayList(retrieveBookmarks#1) num objects
    //#output(List retrieveBookmarks(bool)): return_value
    //#new obj(List retrieveBookmarks(bool)): new ArrayList(retrieveBookmarks#1)
    //#pre[3] (List retrieveBookmarks(bool)): this.pojo != null
    //#pre[4] (List retrieveBookmarks(bool)): this.pojo.__Tag == org/apache/roller/weblogger/pojos/WeblogBookmarkFolder
    //#presumption(List retrieveBookmarks(bool)): java.util.Iterator:next(...).__Tag@134 == org/apache/roller/weblogger/pojos/WeblogBookmark
    //#presumption(List retrieveBookmarks(bool)): org.apache.roller.weblogger.business.BookmarkManager:getBookmarks(...)@312 != null
    //#post(List retrieveBookmarks(bool)): return_value == &new ArrayList(retrieveBookmarks#1)
    //#post(List retrieveBookmarks(bool)): new ArrayList(retrieveBookmarks#1) num objects == 1
    //#unanalyzed(List retrieveBookmarks(bool)): Effects-of-calling:org.apache.roller.weblogger.business.WebloggerFactory:getWeblogger
    //#unanalyzed(List retrieveBookmarks(bool)): Effects-of-calling:org.apache.roller.weblogger.business.Weblogger:getBookmarkManager
    //#unanalyzed(List retrieveBookmarks(bool)): Effects-of-calling:org.apache.roller.weblogger.business.BookmarkManager:getBookmarks
    //#test_vector(List retrieveBookmarks(bool)): java.util.Iterator:hasNext(...)@133: {0}, {1}
        
        // iterate through and wrap
        // we force the use of an ArrayList because it should be good enough to cover
        // for any Collection type we encounter.
        ArrayList wrappedCollection = new ArrayList(initialCollection.size());
        Iterator it = initialCollection.iterator();
        int i = 0;
        while(it.hasNext()) {
            wrappedCollection.add(i,WeblogBookmarkWrapper.wrap((WeblogBookmark) it.next()));
    //#WeblogBookmarkFolderWrapper.java:134: Warning: method not available
    //#    -- call on WeblogBookmarkWrapper org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkWrapper:wrap(WeblogBookmark)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper
    //#    method: List retrieveBookmarks(bool)
    //#    unanalyzed callee: WeblogBookmarkWrapper org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkWrapper:wrap(WeblogBookmark)
            i++;
    //#WeblogBookmarkFolderWrapper.java:135: ?overflow
    //#    i in -2_147_483_649..4_294_967_294
    //#    severity: LOW
    //#    class: org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper
    //#    method: List retrieveBookmarks(bool)
    //#    basic block: bb_5
    //#    assertion: i in -2_147_483_649..4_294_967_294
    //#    VN: i + 1
    //#    Expected: {-2_147_483_648..4_294_967_295, Invalid}
    //#    Bad: {4_294_967_296}
    //#    Attribs:  Int  Bad singleton  Bad > Exp
        }
        
        return wrappedCollection;
    //#WeblogBookmarkFolderWrapper.java:138: end of method: List org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.retrieveBookmarks(bool)
    }
    
    
    // TODO: this method won't actually work and we probably don't need it here anyways?
    public boolean descendentOf(WeblogBookmarkFolder ancestor) {
        return this.pojo.descendentOf(ancestor);
    //#WeblogBookmarkFolderWrapper.java:144: method: bool org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.descendentOf(WeblogBookmarkFolder)
    //#input(bool descendentOf(WeblogBookmarkFolder)): ancestor
    //#input(bool descendentOf(WeblogBookmarkFolder)): ancestor.__Tag
    //#input(bool descendentOf(WeblogBookmarkFolder)): ancestor.path
    //#input(bool descendentOf(WeblogBookmarkFolder)): ancestor.pcStateManager
    //#input(bool descendentOf(WeblogBookmarkFolder)): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[org/apache/roller/weblogger/pojos/WeblogBookmarkFolder]
    //#input(bool descendentOf(WeblogBookmarkFolder)): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Descendant_Table[others]
    //#input(bool descendentOf(WeblogBookmarkFolder)): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Dispatch_Table.descendentOf(Lorg/apache/roller/weblogger/pojos/WeblogBookmarkFolder;)Z
    //#input(bool descendentOf(WeblogBookmarkFolder)): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Dispatch_Table.getParent()Lorg/apache/roller/weblogger/pojos/WeblogBookmarkFolder;
    //#input(bool descendentOf(WeblogBookmarkFolder)): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.__Dispatch_Table.getPath()Ljava/lang/String;
    //#input(bool descendentOf(WeblogBookmarkFolder)): org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount
    //#input(bool descendentOf(WeblogBookmarkFolder)): this
    //#input(bool descendentOf(WeblogBookmarkFolder)): this.pojo
    //#input(bool descendentOf(WeblogBookmarkFolder)): this.pojo.__Tag
    //#input(bool descendentOf(WeblogBookmarkFolder)): this.pojo.parentFolder
    //#input(bool descendentOf(WeblogBookmarkFolder)): this.pojo.path
    //#input(bool descendentOf(WeblogBookmarkFolder)): this.pojo.pcStateManager
    //#output(bool descendentOf(WeblogBookmarkFolder)): return_value
    //#pre[7] (bool descendentOf(WeblogBookmarkFolder)): this.pojo != null
    //#pre[8] (bool descendentOf(WeblogBookmarkFolder)): this.pojo.__Tag == org/apache/roller/weblogger/pojos/WeblogBookmarkFolder
    //#pre[9] (bool descendentOf(WeblogBookmarkFolder)): init'ed(this.pojo.parentFolder)
    //#pre[11] (bool descendentOf(WeblogBookmarkFolder)): init'ed(this.pojo.pcStateManager)
    //#pre[1] (bool descendentOf(WeblogBookmarkFolder)): (soft) ancestor != null
    //#pre[2] (bool descendentOf(WeblogBookmarkFolder)): (soft) ancestor.__Tag == org/apache/roller/weblogger/pojos/WeblogBookmarkFolder
    //#pre[3] (bool descendentOf(WeblogBookmarkFolder)): (soft) init'ed(ancestor.path)
    //#pre[4] (bool descendentOf(WeblogBookmarkFolder)): (soft) init'ed(ancestor.pcStateManager)
    //#pre[5] (bool descendentOf(WeblogBookmarkFolder)): (soft) org/apache/roller/weblogger/pojos/WeblogBookmarkFolder.pcInheritedFieldCount <= 4_294_967_289
    //#pre[10] (bool descendentOf(WeblogBookmarkFolder)): (soft) this.pojo.path != null
    //#post(bool descendentOf(WeblogBookmarkFolder)): init'ed(return_value)
    //#unanalyzed(bool descendentOf(WeblogBookmarkFolder)): Effects-of-calling:org.apache.openjpa.enhance.StateManager:accessingField
    //#unanalyzed(bool descendentOf(WeblogBookmarkFolder)): Effects-of-calling:java.lang.String:startsWith
    //#WeblogBookmarkFolderWrapper.java:144: end of method: bool org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.descendentOf(WeblogBookmarkFolder)
    }
    
}
    //#output(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Descendant_Table[org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper]
    //#output(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.descendentOf(Lorg/apache/roller/weblogger/pojos/WeblogBookmarkFolder;)Z
    //#output(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getBookmarks()Ljava/util/List;
    //#output(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getDescription()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getFolders()Ljava/util/List;
    //#output(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getId()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getParent()Lorg/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper;
    //#output(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getPath()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.retrieveBookmarks(Z)Ljava/util/List;
    //#post(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Descendant_Table[org/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.descendentOf(Lorg/apache/roller/weblogger/pojos/WeblogBookmarkFolder;)Z == &descendentOf
    //#post(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getBookmarks()Ljava/util/List; == &getBookmarks
    //#post(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getDescription()Ljava/lang/String; == &getDescription
    //#post(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getFolders()Ljava/util/List; == &getFolders
    //#post(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getId()Ljava/lang/String; == &getId
    //#post(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getName()Ljava/lang/String; == &getName
    //#post(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getParent()Lorg/apache/roller/weblogger/pojos/wrapper/WeblogBookmarkFolderWrapper; == &getParent
    //#post(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.getPath()Ljava/lang/String; == &getPath
    //#post(org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init): __Dispatch_Table.retrieveBookmarks(Z)Ljava/util/List; == &retrieveBookmarks
    //#WeblogBookmarkFolderWrapper.java:: end of method: org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper.org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper__static_init
    //#WeblogBookmarkFolderWrapper.java:: end of class: org.apache.roller.weblogger.pojos.wrapper.WeblogBookmarkFolderWrapper
