//# 3 errors, 525 messages
//#
/*
    //#WeblogCustomTheme.java:1:1: class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#WeblogCustomTheme.java:1:1: method: org.apache.roller.weblogger.business.themes.WeblogCustomTheme.org.apache.roller.weblogger.business.themes.WeblogCustomTheme__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.business.themes;

import java.util.Date;
import java.util.List;
import org.apache.roller.weblogger.WebloggerException;
import org.apache.roller.weblogger.business.FileManager;
import org.apache.roller.weblogger.business.FileNotFoundException;
import org.apache.roller.weblogger.business.FilePathException;
import org.apache.roller.weblogger.business.WebloggerFactory;
import org.apache.roller.weblogger.business.UserManager;
import org.apache.roller.weblogger.pojos.ThemeResource;
import org.apache.roller.weblogger.pojos.ThemeTemplate;
import org.apache.roller.weblogger.pojos.WeblogTheme;
import org.apache.roller.weblogger.pojos.Weblog;


/**
 * A WeblogTheme custom defined by the weblog owner.
 */
public class WeblogCustomTheme extends WeblogTheme {
    
    
    public WeblogCustomTheme(Weblog weblog) {
        super(weblog);
    //#WeblogCustomTheme.java:42: method: void org.apache.roller.weblogger.business.themes.WeblogCustomTheme.org.apache.roller.weblogger.business.themes.WeblogCustomTheme(Weblog)
    //#WeblogCustomTheme.java:42: Warning: method not available
    //#    -- call on void org.apache.roller.weblogger.pojos.WeblogTheme(Weblog)
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: void org.apache.roller.weblogger.business.themes.WeblogCustomTheme(Weblog)
    //#    unanalyzed callee: void org.apache.roller.weblogger.pojos.WeblogTheme(Weblog)
    //#input(void org.apache.roller.weblogger.business.themes.WeblogCustomTheme(Weblog)): this
    //#input(void org.apache.roller.weblogger.business.themes.WeblogCustomTheme(Weblog)): weblog
    }
    //#WeblogCustomTheme.java:43: end of method: void org.apache.roller.weblogger.business.themes.WeblogCustomTheme.org.apache.roller.weblogger.business.themes.WeblogCustomTheme(Weblog)
    
    
    public String getId() {
        return CUSTOM;
    //#WeblogCustomTheme.java:47: method: String org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getId()
    //#output(String getId()): return_value
    //#post(String getId()): return_value == &"custom"
    //#WeblogCustomTheme.java:47: end of method: String org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getId()
    }
    
    public String getName() {
        return CUSTOM;
    //#WeblogCustomTheme.java:51: method: String org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getName()
    //#output(String getName()): return_value
    //#post(String getName()): return_value == &"custom"
    //#WeblogCustomTheme.java:51: end of method: String org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getName()
    }
    
    public String getDescription() {
        return CUSTOM;
    //#WeblogCustomTheme.java:55: method: String org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getDescription()
    //#output(String getDescription()): return_value
    //#post(String getDescription()): return_value == &"custom"
    //#WeblogCustomTheme.java:55: end of method: String org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getDescription()
    }

    public String getAuthor() {
        return "N/A";
    //#WeblogCustomTheme.java:59: method: String org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getAuthor()
    //#output(String getAuthor()): return_value
    //#post(String getAuthor()): return_value == &"N.A"
    //#WeblogCustomTheme.java:59: end of method: String org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getAuthor()
    }
    
    public Date getLastModified() {
        return this.weblog.getLastModified();
    //#WeblogCustomTheme.java:63: method: Date org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getLastModified()
    //#WeblogCustomTheme.java:63: Warning: method not available
    //#    -- call on Date org.apache.roller.weblogger.pojos.Weblog:getLastModified()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: Date getLastModified()
    //#    unanalyzed callee: Date org.apache.roller.weblogger.pojos.Weblog:getLastModified()
    //#input(Date getLastModified()): this
    //#input(Date getLastModified()): this.weblog
    //#output(Date getLastModified()): return_value
    //#pre[2] (Date getLastModified()): this.weblog != null
    //#post(Date getLastModified()): init'ed(return_value)
    //#WeblogCustomTheme.java:63: end of method: Date org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getLastModified()
    }
    
    public boolean isEnabled() {
        return true;
    //#WeblogCustomTheme.java:67: method: bool org.apache.roller.weblogger.business.themes.WeblogCustomTheme.isEnabled()
    //#output(bool isEnabled()): return_value
    //#post(bool isEnabled()): return_value == 1
    //#WeblogCustomTheme.java:67: end of method: bool org.apache.roller.weblogger.business.themes.WeblogCustomTheme.isEnabled()
    }
    
    
    /**
     * Get the collection of all templates associated with this Theme.
     */
    public List getTemplates() throws WebloggerException {
        UserManager userMgr = WebloggerFactory.getWeblogger().getUserManager();
    //#WeblogCustomTheme.java:75: method: List org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getTemplates()
    //#WeblogCustomTheme.java:75: Warning: suspicious precondition
    //#    the precondition for org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: List getTemplates()
    //#    suspicious precondition index: [2]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/GuiceWebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(List getTemplates()): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/UserManager]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[others]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/UserManager.__Dispatch_Table.getPages(Lorg/apache/roller/weblogger/pojos/Weblog;)Ljava/util/List;
    //#input(List getTemplates()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerImpl]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/Weblogger]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[others]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/Weblogger.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.__Tag
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.__Tag
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.__Tag
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.emf
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.threadLocalEntityManager
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/GuiceWebloggerProvider]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerProvider]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[others]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/WebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(List getTemplates()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[others]
    //#input(List getTemplates()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Dispatch_Table.getNamedQuery(Ljava/lang/String;)Ljavax/persistence/Query;
    //#input(List getTemplates()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.javax.persistence.FlushModeType.COMMIT
    //#input(List getTemplates()): org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.__Dispatch_Table.getPages(Lorg/apache/roller/weblogger/pojos/Weblog;)Ljava/util/List;
    //#input(List getTemplates()): org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(List getTemplates()): this
    //#input(List getTemplates()): this.weblog
    //#output(List getTemplates()): return_value
    //#pre[1] (List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider != null
    //#pre[2] (List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag in {org/apache/roller/weblogger/business/GuiceWebloggerProvider, org/apache/roller/weblogger/business/WebloggerProvider}
    //#pre[3] (List getTemplates()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance != null
    //#pre[5] (List getTemplates()): this.weblog != null
    //#presumption(List getTemplates()): getWeblogger(...).__Tag in {org/apache/roller/weblogger/business/Weblogger, org/apache/roller/weblogger/business/WebloggerImpl, org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl}
    //#presumption(List getTemplates()): getWeblogger(...).userManager != null
    //#presumption(List getTemplates()): userMgr.__Tag in {org/apache/roller/weblogger/business/UserManager, org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl}
    //#presumption(List getTemplates()): userMgr.strategy != null
    //#presumption(List getTemplates()): userMgr.strategy.__Tag == org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy
    //#presumption(List getTemplates()): userMgr.strategy.emf != null
    //#presumption(List getTemplates()): userMgr.strategy.threadLocalEntityManager != null
    //#post(List getTemplates()): init'ed(return_value)
    //#unanalyzed(List getTemplates()): Effects-of-calling:getWeblogger
    //#unanalyzed(List getTemplates()): Effects-of-calling:java.lang.ThreadLocal:get
    //#unanalyzed(List getTemplates()): Effects-of-calling:javax.persistence.EntityManagerFactory:createEntityManager
    //#unanalyzed(List getTemplates()): Effects-of-calling:java.lang.ThreadLocal:set
    //#unanalyzed(List getTemplates()): Effects-of-calling:javax.persistence.EntityManager:getTransaction
    //#unanalyzed(List getTemplates()): Effects-of-calling:javax.persistence.EntityTransaction:isActive
    //#unanalyzed(List getTemplates()): Effects-of-calling:javax.persistence.EntityTransaction:begin
    //#unanalyzed(List getTemplates()): Effects-of-calling:javax.persistence.EntityManager:createNamedQuery
    //#unanalyzed(List getTemplates()): Effects-of-calling:javax.persistence.Query:setFlushMode
    //#unanalyzed(List getTemplates()): Effects-of-calling:javax.persistence.Query:setParameter
    //#unanalyzed(List getTemplates()): Effects-of-calling:javax.persistence.Query:getResultList
        return userMgr.getPages(this.weblog);
    //#WeblogCustomTheme.java:76: end of method: List org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getTemplates()
    }
    
    
    /**
     * Lookup the stylesheet template for this theme.
     * Returns null if no stylesheet can be found.
     */
    public ThemeTemplate getStylesheet() throws WebloggerException {
        return getTemplateByLink(this.weblog.getCustomStylesheetPath());
    //#WeblogCustomTheme.java:85: method: ThemeTemplate org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getStylesheet()
    //#WeblogCustomTheme.java:85: Warning: method not available
    //#    -- call on String org.apache.roller.weblogger.pojos.Weblog:getCustomStylesheetPath()
    //#    severity: INFORMATIONAL
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: ThemeTemplate getStylesheet()
    //#    unanalyzed callee: String org.apache.roller.weblogger.pojos.Weblog:getCustomStylesheetPath()
    //#WeblogCustomTheme.java:85: Warning: suspicious precondition
    //#    the precondition for org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: ThemeTemplate getStylesheet()
    //#    suspicious precondition index: [2]
    //#    Attribs:  Soft
    //#input(ThemeTemplate getStylesheet()): __Descendant_Table[org/apache/roller/weblogger/business/themes/WeblogCustomTheme]
    //#input(ThemeTemplate getStylesheet()): __Descendant_Table[others]
    //#input(ThemeTemplate getStylesheet()): __Dispatch_Table.getTemplateByLink(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/ThemeTemplate;
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/GuiceWebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/UserManager]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[others]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/UserManager.__Dispatch_Table.getPageByLink(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerImpl]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/Weblogger]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[others]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/Weblogger.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.__Tag
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.__Tag
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.__Tag
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.threadLocalEntityManager
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/GuiceWebloggerProvider]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerProvider]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[others]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/WebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[others]
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Dispatch_Table.getNamedQuery(Ljava/lang/String;)Ljavax/persistence/Query;
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.javax.persistence.FlushModeType.COMMIT
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.__Dispatch_Table.getPageByLink(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#input(ThemeTemplate getStylesheet()): org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getStylesheet()): this
    //#input(ThemeTemplate getStylesheet()): this.__Tag
    //#input(ThemeTemplate getStylesheet()): this.weblog
    //#output(ThemeTemplate getStylesheet()): return_value
    //#pre[12] (ThemeTemplate getStylesheet()): this.__Tag == org/apache/roller/weblogger/business/themes/WeblogCustomTheme
    //#pre[13] (ThemeTemplate getStylesheet()): this.weblog != null
    //#pre[1] (ThemeTemplate getStylesheet()): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider != null
    //#pre[2] (ThemeTemplate getStylesheet()): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag in {org/apache/roller/weblogger/business/GuiceWebloggerProvider, org/apache/roller/weblogger/business/WebloggerProvider}
    //#pre[3] (ThemeTemplate getStylesheet()): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance != null
    //#post(ThemeTemplate getStylesheet()): init'ed(return_value)
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:getWeblogger
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:getUserManager
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:getPageByLink
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:java.lang.ThreadLocal:get
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:javax.persistence.EntityManagerFactory:createEntityManager
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:java.lang.ThreadLocal:set
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:javax.persistence.EntityManager:getTransaction
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:javax.persistence.EntityTransaction:isActive
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:javax.persistence.EntityTransaction:begin
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:javax.persistence.EntityManager:createNamedQuery
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:javax.persistence.Query:setFlushMode
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:javax.persistence.Query:setParameter
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:javax.persistence.Query:getSingleResult
    //#unanalyzed(ThemeTemplate getStylesheet()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#WeblogCustomTheme.java:85: end of method: ThemeTemplate org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getStylesheet()
    }
    
    
    /**
     * Lookup the default template.
     * Returns null if the template cannot be found.
     */
    public ThemeTemplate getDefaultTemplate() throws WebloggerException {
        UserManager userMgr = WebloggerFactory.getWeblogger().getUserManager();
    //#WeblogCustomTheme.java:94: method: ThemeTemplate org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getDefaultTemplate()
    //#WeblogCustomTheme.java:94: Warning: suspicious precondition
    //#    the precondition for org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: ThemeTemplate getDefaultTemplate()
    //#    suspicious precondition index: [2]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/GuiceWebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/UserManager]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[others]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/UserManager.__Dispatch_Table.getPageByAction(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerImpl]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/Weblogger]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[others]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/Weblogger.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.__Tag
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.__Tag
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.__Tag
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.emf
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.threadLocalEntityManager
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/GuiceWebloggerProvider]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerProvider]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[others]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[others]
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Dispatch_Table.getNamedQuery(Ljava/lang/String;)Ljavax/persistence/Query;
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.javax.persistence.FlushModeType.COMMIT
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.__Dispatch_Table.getPageByAction(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#input(ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getDefaultTemplate()): this
    //#input(ThemeTemplate getDefaultTemplate()): this.weblog
    //#output(ThemeTemplate getDefaultTemplate()): return_value
    //#pre[1] (ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider != null
    //#pre[2] (ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag in {org/apache/roller/weblogger/business/GuiceWebloggerProvider, org/apache/roller/weblogger/business/WebloggerProvider}
    //#pre[3] (ThemeTemplate getDefaultTemplate()): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance != null
    //#pre[5] (ThemeTemplate getDefaultTemplate()): this.weblog != null
    //#presumption(ThemeTemplate getDefaultTemplate()): getWeblogger(...).__Tag in {org/apache/roller/weblogger/business/Weblogger, org/apache/roller/weblogger/business/WebloggerImpl, org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl}
    //#presumption(ThemeTemplate getDefaultTemplate()): getWeblogger(...).userManager != null
    //#presumption(ThemeTemplate getDefaultTemplate()): userMgr.__Tag in {org/apache/roller/weblogger/business/UserManager, org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl}
    //#presumption(ThemeTemplate getDefaultTemplate()): userMgr.strategy != null
    //#presumption(ThemeTemplate getDefaultTemplate()): userMgr.strategy.__Tag == org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy
    //#presumption(ThemeTemplate getDefaultTemplate()): userMgr.strategy.emf != null
    //#presumption(ThemeTemplate getDefaultTemplate()): userMgr.strategy.threadLocalEntityManager != null
    //#post(ThemeTemplate getDefaultTemplate()): init'ed(return_value)
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:getWeblogger
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:java.lang.ThreadLocal:get
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:javax.persistence.EntityManagerFactory:createEntityManager
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:java.lang.ThreadLocal:set
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:javax.persistence.EntityManager:getTransaction
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:javax.persistence.EntityTransaction:isActive
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:javax.persistence.EntityTransaction:begin
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:javax.persistence.EntityManager:createNamedQuery
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:javax.persistence.Query:setFlushMode
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:javax.persistence.Query:setParameter
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:javax.persistence.Query:getSingleResult
    //#unanalyzed(ThemeTemplate getDefaultTemplate()): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
        return userMgr.getPageByAction(this.weblog, ThemeTemplate.ACTION_WEBLOG);
    //#WeblogCustomTheme.java:95: end of method: ThemeTemplate org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getDefaultTemplate()
    }
    
    
    /**
     * Lookup the specified template by action.
     * Returns null if the template cannot be found.
     */
    public ThemeTemplate getTemplateByAction(String action) throws WebloggerException {
        if(action == null)
    //#WeblogCustomTheme.java:104: method: ThemeTemplate org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getTemplateByAction(String)
    //#WeblogCustomTheme.java:104: Warning: suspicious precondition
    //#    the precondition for org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: ThemeTemplate getTemplateByAction(String)
    //#    suspicious precondition index: [3]
    //#    Attribs:  Soft
    //#input(ThemeTemplate getTemplateByAction(String)): action
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/GuiceWebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/UserManager]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/UserManager.__Dispatch_Table.getPageByAction(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerImpl]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/Weblogger]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/Weblogger.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.__Tag
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.__Tag
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.__Tag
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.emf
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.threadLocalEntityManager
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/GuiceWebloggerProvider]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerProvider]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Dispatch_Table.getNamedQuery(Ljava/lang/String;)Ljavax/persistence/Query;
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.javax.persistence.FlushModeType.COMMIT
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.__Dispatch_Table.getPageByAction(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#input(ThemeTemplate getTemplateByAction(String)): org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getTemplateByAction(String)): this
    //#input(ThemeTemplate getTemplateByAction(String)): this.weblog
    //#output(ThemeTemplate getTemplateByAction(String)): return_value
    //#pre[2] (ThemeTemplate getTemplateByAction(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider != null
    //#pre[3] (ThemeTemplate getTemplateByAction(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag in {org/apache/roller/weblogger/business/GuiceWebloggerProvider, org/apache/roller/weblogger/business/WebloggerProvider}
    //#pre[4] (ThemeTemplate getTemplateByAction(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance != null
    //#pre[6] (ThemeTemplate getTemplateByAction(String)): (soft) this.weblog != null
    //#presumption(ThemeTemplate getTemplateByAction(String)): getWeblogger(...).__Tag in {org/apache/roller/weblogger/business/Weblogger, org/apache/roller/weblogger/business/WebloggerImpl, org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl}
    //#presumption(ThemeTemplate getTemplateByAction(String)): getWeblogger(...).userManager != null
    //#presumption(ThemeTemplate getTemplateByAction(String)): userMgr.__Tag in {org/apache/roller/weblogger/business/UserManager, org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl}
    //#presumption(ThemeTemplate getTemplateByAction(String)): userMgr.strategy != null
    //#presumption(ThemeTemplate getTemplateByAction(String)): userMgr.strategy.__Tag == org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy
    //#presumption(ThemeTemplate getTemplateByAction(String)): userMgr.strategy.emf != null
    //#presumption(ThemeTemplate getTemplateByAction(String)): userMgr.strategy.threadLocalEntityManager != null
    //#post(ThemeTemplate getTemplateByAction(String)): init'ed(return_value)
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:getWeblogger
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:java.lang.ThreadLocal:get
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:javax.persistence.EntityManagerFactory:createEntityManager
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:java.lang.ThreadLocal:set
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:javax.persistence.EntityManager:getTransaction
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:javax.persistence.EntityTransaction:isActive
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:javax.persistence.EntityTransaction:begin
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:javax.persistence.EntityManager:createNamedQuery
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:javax.persistence.Query:setFlushMode
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:javax.persistence.Query:setParameter
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:javax.persistence.Query:getSingleResult
    //#unanalyzed(ThemeTemplate getTemplateByAction(String)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#test_vector(ThemeTemplate getTemplateByAction(String)): action: Inverse{null}, Addr_Set{null}
            return null;
        
        UserManager userMgr = WebloggerFactory.getWeblogger().getUserManager();
        return userMgr.getPageByAction(this.weblog, action);
    //#WeblogCustomTheme.java:108: end of method: ThemeTemplate org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getTemplateByAction(String)
    }
    
    
    /**
     * Lookup the specified template by name.
     * Returns null if the template cannot be found.
     */
    public ThemeTemplate getTemplateByName(String name) throws WebloggerException {
        if(name == null)
    //#WeblogCustomTheme.java:117: method: ThemeTemplate org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getTemplateByName(String)
    //#WeblogCustomTheme.java:117: Warning: suspicious precondition
    //#    the precondition for org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: ThemeTemplate getTemplateByName(String)
    //#    suspicious precondition index: [3]
    //#    Attribs:  Soft
    //#input(ThemeTemplate getTemplateByName(String)): name
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/GuiceWebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/UserManager]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/UserManager.__Dispatch_Table.getPageByName(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerImpl]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/Weblogger]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/Weblogger.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.__Tag
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.__Tag
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.__Tag
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.emf
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.threadLocalEntityManager
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/GuiceWebloggerProvider]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerProvider]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Dispatch_Table.getNamedQuery(Ljava/lang/String;)Ljavax/persistence/Query;
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.javax.persistence.FlushModeType.COMMIT
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.__Dispatch_Table.getPageByName(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#input(ThemeTemplate getTemplateByName(String)): org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getTemplateByName(String)): this
    //#input(ThemeTemplate getTemplateByName(String)): this.weblog
    //#output(ThemeTemplate getTemplateByName(String)): return_value
    //#pre[2] (ThemeTemplate getTemplateByName(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider != null
    //#pre[3] (ThemeTemplate getTemplateByName(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag in {org/apache/roller/weblogger/business/GuiceWebloggerProvider, org/apache/roller/weblogger/business/WebloggerProvider}
    //#pre[4] (ThemeTemplate getTemplateByName(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance != null
    //#pre[6] (ThemeTemplate getTemplateByName(String)): (soft) this.weblog != null
    //#presumption(ThemeTemplate getTemplateByName(String)): getWeblogger(...).__Tag in {org/apache/roller/weblogger/business/Weblogger, org/apache/roller/weblogger/business/WebloggerImpl, org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl}
    //#presumption(ThemeTemplate getTemplateByName(String)): getWeblogger(...).userManager != null
    //#presumption(ThemeTemplate getTemplateByName(String)): userMgr.__Tag in {org/apache/roller/weblogger/business/UserManager, org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl}
    //#presumption(ThemeTemplate getTemplateByName(String)): userMgr.strategy != null
    //#presumption(ThemeTemplate getTemplateByName(String)): userMgr.strategy.__Tag == org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy
    //#presumption(ThemeTemplate getTemplateByName(String)): userMgr.strategy.emf != null
    //#presumption(ThemeTemplate getTemplateByName(String)): userMgr.strategy.threadLocalEntityManager != null
    //#post(ThemeTemplate getTemplateByName(String)): init'ed(return_value)
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:getWeblogger
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:java.lang.ThreadLocal:get
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:javax.persistence.EntityManagerFactory:createEntityManager
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:java.lang.ThreadLocal:set
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:javax.persistence.EntityManager:getTransaction
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:javax.persistence.EntityTransaction:isActive
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:javax.persistence.EntityTransaction:begin
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:javax.persistence.EntityManager:createNamedQuery
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:javax.persistence.Query:setFlushMode
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:javax.persistence.Query:setParameter
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:javax.persistence.Query:getSingleResult
    //#unanalyzed(ThemeTemplate getTemplateByName(String)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#test_vector(ThemeTemplate getTemplateByName(String)): name: Inverse{null}, Addr_Set{null}
            return null;
        
        UserManager userMgr = WebloggerFactory.getWeblogger().getUserManager();
        return userMgr.getPageByName(this.weblog, name);
    //#WeblogCustomTheme.java:121: end of method: ThemeTemplate org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getTemplateByName(String)
    }
    
    
    /**
     * Lookup the specified template by link.
     * Returns null if the template cannot be found.
     */
    public ThemeTemplate getTemplateByLink(String link) throws WebloggerException {
        if(link == null)
    //#WeblogCustomTheme.java:130: method: ThemeTemplate org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getTemplateByLink(String)
    //#WeblogCustomTheme.java:130: Warning: suspicious precondition
    //#    the precondition for org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: ThemeTemplate getTemplateByLink(String)
    //#    suspicious precondition index: [3]
    //#    Attribs:  Soft
    //#input(ThemeTemplate getTemplateByLink(String)): link
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/GuiceWebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/UserManager]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/UserManager.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/UserManager.__Dispatch_Table.getPageByLink(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerImpl]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/Weblogger]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/Weblogger.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.__Tag
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.__Tag
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.__Tag
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.emf
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.userManager.strategy.threadLocalEntityManager
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/GuiceWebloggerProvider]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerProvider]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Descendant_Table[others]
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.__Dispatch_Table.getNamedQuery(Ljava/lang/String;)Ljavax/persistence/Query;
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy.javax.persistence.FlushModeType.COMMIT
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.__Dispatch_Table.getPageByLink(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/WeblogTemplate;
    //#input(ThemeTemplate getTemplateByLink(String)): org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.__Dispatch_Table.getUserManager()Lorg/apache/roller/weblogger/business/UserManager;
    //#input(ThemeTemplate getTemplateByLink(String)): this
    //#input(ThemeTemplate getTemplateByLink(String)): this.weblog
    //#output(ThemeTemplate getTemplateByLink(String)): return_value
    //#pre[2] (ThemeTemplate getTemplateByLink(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider != null
    //#pre[3] (ThemeTemplate getTemplateByLink(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag in {org/apache/roller/weblogger/business/GuiceWebloggerProvider, org/apache/roller/weblogger/business/WebloggerProvider}
    //#pre[4] (ThemeTemplate getTemplateByLink(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance != null
    //#pre[6] (ThemeTemplate getTemplateByLink(String)): (soft) this.weblog != null
    //#presumption(ThemeTemplate getTemplateByLink(String)): getWeblogger(...).__Tag in {org/apache/roller/weblogger/business/Weblogger, org/apache/roller/weblogger/business/WebloggerImpl, org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl}
    //#presumption(ThemeTemplate getTemplateByLink(String)): getWeblogger(...).userManager != null
    //#presumption(ThemeTemplate getTemplateByLink(String)): userMgr.__Tag in {org/apache/roller/weblogger/business/UserManager, org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl}
    //#presumption(ThemeTemplate getTemplateByLink(String)): userMgr.strategy != null
    //#presumption(ThemeTemplate getTemplateByLink(String)): userMgr.strategy.__Tag == org/apache/roller/weblogger/business/jpa/JPAPersistenceStrategy
    //#presumption(ThemeTemplate getTemplateByLink(String)): userMgr.strategy.emf != null
    //#presumption(ThemeTemplate getTemplateByLink(String)): userMgr.strategy.threadLocalEntityManager != null
    //#post(ThemeTemplate getTemplateByLink(String)): init'ed(return_value)
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:getWeblogger
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:java.lang.ThreadLocal:get
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:javax.persistence.EntityManagerFactory:createEntityManager
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:java.lang.ThreadLocal:set
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:javax.persistence.EntityManager:getTransaction
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:javax.persistence.EntityTransaction:isActive
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:javax.persistence.EntityTransaction:begin
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:javax.persistence.EntityManager:createNamedQuery
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:javax.persistence.Query:setFlushMode
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:javax.persistence.Query:setParameter
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:javax.persistence.Query:getSingleResult
    //#unanalyzed(ThemeTemplate getTemplateByLink(String)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#test_vector(ThemeTemplate getTemplateByLink(String)): link: Inverse{null}, Addr_Set{null}
            return null;
        
        UserManager userMgr = WebloggerFactory.getWeblogger().getUserManager();
        return userMgr.getPageByLink(this.weblog, link);
    //#WeblogCustomTheme.java:134: end of method: ThemeTemplate org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getTemplateByLink(String)
    }
    
    
    /**
     * Lookup the specified resource by path.
     * Returns null if the resource cannot be found.
     */
    public ThemeResource getResource(String path) {
        
        ThemeResource resource = null;
    //#WeblogCustomTheme.java:144: method: ThemeResource org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getResource(String)
    //#WeblogCustomTheme.java:144: Warning: suspicious precondition
    //#    the precondition for org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: ThemeResource getResource(String)
    //#    suspicious precondition index: [2]
    //#    Attribs:  Soft
    //#input(ThemeResource getResource(String)): "Invalid path ["._tainted
    //#input(ThemeResource getResource(String)): "], "._tainted
    //#input(ThemeResource getResource(String)): "cannot read from path."._tainted
    //#input(ThemeResource getResource(String)): "directory doesn't exist."._tainted
    //#input(ThemeResource getResource(String)): "path is a directory."._tainted
    //#input(ThemeResource getResource(String)): "trying to get outside uploads dir."._tainted
    //#input(ThemeResource getResource(String)): "trying to use nested directories."._tainted
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/FileManager.__Descendant_Table[org/apache/roller/weblogger/business/FileManagerImpl]
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/FileManager.__Descendant_Table[org/apache/roller/weblogger/business/FileManager]
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/FileManager.__Descendant_Table[others]
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/FileManager.__Dispatch_Table.getFile(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/ThemeResource;
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/FileManagerImpl.__Dispatch_Table.getFile(Lorg/apache/roller/weblogger/pojos/Weblog;Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/ThemeResource;
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/FileManagerImpl.java.io.File.separator
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/FileManagerImpl.java.io.File.separator._tainted
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/FileManagerImpl.java.io.File.separatorChar
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/GuiceWebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerImpl]
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/Weblogger]
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl]
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/Weblogger.__Descendant_Table[others]
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/Weblogger.__Dispatch_Table.getFileManager()Lorg/apache/roller/weblogger/business/FileManager;
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.__Tag
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.fileManager
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.fileManager.__Tag
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance.fileManager.upload_dir._tainted
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerImpl.__Dispatch_Table.getFileManager()Lorg/apache/roller/weblogger/business/FileManager;
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/GuiceWebloggerProvider]
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[org/apache/roller/weblogger/business/WebloggerProvider]
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Descendant_Table[others]
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/WebloggerProvider.__Dispatch_Table.getWeblogger()Lorg/apache/roller/weblogger/business/Weblogger;
    //#input(ThemeResource getResource(String)): org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl.__Dispatch_Table.getFileManager()Lorg/apache/roller/weblogger/business/FileManager;
    //#input(ThemeResource getResource(String)): path
    //#input(ThemeResource getResource(String)): path._tainted
    //#input(ThemeResource getResource(String)): this
    //#output(ThemeResource getResource(String)): new File(getRealFile#6) num objects
    //#output(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3) num objects
    //#output(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3).__Tag
    //#output(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3).relativePath
    //#output(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3).resourceFile
    //#output(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3).this$0
    //#output(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3).weblog
    //#output(ThemeResource getResource(String)): return_value
    //#new obj(ThemeResource getResource(String)): new File(getRealFile#6)
    //#new obj(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3)
    //#pre[1] (ThemeResource getResource(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider != null
    //#pre[2] (ThemeResource getResource(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.__Tag in {org/apache/roller/weblogger/business/GuiceWebloggerProvider, org/apache/roller/weblogger/business/WebloggerProvider}
    //#pre[3] (ThemeResource getResource(String)): (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance != null
    //#presumption(ThemeResource getResource(String)): fileMgr.__Tag in {org/apache/roller/weblogger/business/FileManager, org/apache/roller/weblogger/business/FileManagerImpl}
    //#presumption(ThemeResource getResource(String)): getWeblogger(...).__Tag in {org/apache/roller/weblogger/business/Weblogger, org/apache/roller/weblogger/business/WebloggerImpl, org/apache/roller/weblogger/business/jpa/JPAWebloggerImpl}
    //#post(ThemeResource getResource(String)): return_value == One-of{&new FileManagerImpl$WeblogResourceFile(getFile#3), null}
    //#post(ThemeResource getResource(String)): return_value in Addr_Set{null,&new FileManagerImpl$WeblogResourceFile(getFile#3)}
    //#post(ThemeResource getResource(String)): new File(getRealFile#6) num objects <= 1
    //#post(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3) num objects <= 1
    //#post(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3).__Tag == org/apache/roller/weblogger/business/FileManagerImpl$WeblogResourceFile
    //#post(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3).relativePath == path
    //#post(ThemeResource getResource(String)): init'ed(new FileManagerImpl$WeblogResourceFile(getFile#3).relativePath)
    //#post(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3).resourceFile == &new File(getRealFile#6)
    //#post(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3).this$0 != null
    //#post(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3).weblog == this.weblog
    //#post(ThemeResource getResource(String)): new FileManagerImpl$WeblogResourceFile(getFile#3).weblog != null
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:getWeblogger
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.lang.String:replace
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:org.apache.roller.weblogger.pojos.Weblog:getHandle
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.io.File
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.io.File:exists
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.io.File:mkdirs
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.lang.String:startsWith
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.lang.String:substring
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.lang.String:lastIndexOf
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.lang.String:indexOf
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:org.apache.roller.weblogger.WebloggerException
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:org.apache.roller.RollerException
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.io.File:getAbsolutePath
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.io.File:canRead
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.io.File:getCanonicalPath
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(ThemeResource getResource(String)): Effects-of-calling:java.io.File:isDirectory
        
        try {
            FileManager fileMgr = WebloggerFactory.getWeblogger().getFileManager();
            resource = fileMgr.getFile(this.weblog, path);
    //#WeblogCustomTheme.java:148: ?null dereference
    //#    fileMgr != null
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: ThemeResource getResource(String)
    //#    basic block: bb_2
    //#    assertion: fileMgr != null
    //#    VN: getWeblogger(...).fileManager
    //#    Expected: Inverse{null}
    //#    Bad: Addr_Set{null}
    //#    Attribs:  Ptr  null in Bad  Uncertain
    //#WeblogCustomTheme.java:148: ?use of default init
    //#    init'ed(this.weblog)
    //#    severity: SUPPRESSED
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: ThemeResource getResource(String)
    //#    basic block: bb_2
    //#    assertion: init'ed(this.weblog)
    //#    VN: this.weblog
    //#    Expected: Univ-VN-Set
    //#    Bad: {Invalid}
    //#    Attribs:  Ptr  Bad only invalid
    //#WeblogCustomTheme.java:148: ?precondition failure
    //#    org/apache/roller/weblogger/business/FileManagerImpl.getFile: weblog != null
    //#    severity: MEDIUM
    //#    class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
    //#    method: ThemeResource getResource(String)
    //#    basic block: bb_2
    //#    assertion: this.weblog != null
    //#    callee: ThemeResource org/apache/roller/weblogger/business/FileManagerImpl.getFile(Weblog, String)
    //#    callee assertion: weblog != null
    //#    callee file: FileManagerImpl.java
    //#    callee precondition index: [6]
    //#    callee srcpos: 76
    //#    VN: this.weblog
    //#    Expected: Inverse{null}
    //#    Bad: Addr_Set{null}
    //#    Attribs:  Ptr  null in Bad
        } catch (WebloggerException ex) {
            // ignored, resource considered not found
        }
        
        return resource;
    //#WeblogCustomTheme.java:153: end of method: ThemeResource org.apache.roller.weblogger.business.themes.WeblogCustomTheme.getResource(String)
    }
    
}
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Descendant_Table[org/apache/roller/weblogger/business/themes/WeblogCustomTheme]
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getAuthor()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getDefaultTemplate()Lorg/apache/roller/weblogger/pojos/ThemeTemplate;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getDescription()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getId()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getLastModified()Ljava/util/Date;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getName()Ljava/lang/String;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getResource(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/ThemeResource;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getStylesheet()Lorg/apache/roller/weblogger/pojos/ThemeTemplate;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getTemplateByAction(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/ThemeTemplate;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getTemplateByLink(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/ThemeTemplate;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getTemplateByName(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/ThemeTemplate;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getTemplates()Ljava/util/List;
    //#output(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.isEnabled()Z
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Descendant_Table[org/apache/roller/weblogger/business/themes/WeblogCustomTheme] == &__Dispatch_Table
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getAuthor()Ljava/lang/String; == &getAuthor
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getDefaultTemplate()Lorg/apache/roller/weblogger/pojos/ThemeTemplate; == &getDefaultTemplate
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getDescription()Ljava/lang/String; == &getDescription
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getId()Ljava/lang/String; == &getId
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getLastModified()Ljava/util/Date; == &getLastModified
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getName()Ljava/lang/String; == &getName
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getResource(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/ThemeResource; == &getResource
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getStylesheet()Lorg/apache/roller/weblogger/pojos/ThemeTemplate; == &getStylesheet
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getTemplateByAction(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/ThemeTemplate; == &getTemplateByAction
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getTemplateByLink(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/ThemeTemplate; == &getTemplateByLink
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getTemplateByName(Ljava/lang/String;)Lorg/apache/roller/weblogger/pojos/ThemeTemplate; == &getTemplateByName
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.getTemplates()Ljava/util/List; == &getTemplates
    //#post(org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init): __Dispatch_Table.isEnabled()Z == &isEnabled
    //#WeblogCustomTheme.java:: end of method: org.apache.roller.weblogger.business.themes.WeblogCustomTheme.org.apache.roller.weblogger.business.themes.WeblogCustomTheme__static_init
    //#WeblogCustomTheme.java:: end of class: org.apache.roller.weblogger.business.themes.WeblogCustomTheme
