//# 0 errors, 322 messages
//#
package net.sourceforge.pebble.decorator;
    //#radeoxdecorator.java:1:1: class: net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine
    //#radeoxdecorator.java:1:1: method: net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init
    //#radeoxdecorator.java:1:1: class: net.sourceforge.pebble.decorator.RadeoxDecorator
    //#radeoxdecorator.java:1:1: method: net.sourceforge.pebble.decorator.RadeoxDecorator.net.sourceforge.pebble.decorator.RadeoxDecorator__static_init

import net.sourceforge.pebble.domain.BlogEntry;
import net.sourceforge.pebble.domain.Blog;
import net.sourceforge.pebble.domain.StaticPage;
import net.sourceforge.pebble.util.UrlRewriter;
import net.sourceforge.pebble.api.decorator.ContentDecoratorContext;
import org.radeox.api.engine.RenderEngine;
import org.radeox.api.engine.WikiRenderEngine;
import org.radeox.api.engine.context.InitialRenderContext;
import org.radeox.api.engine.context.RenderContext;
import org.radeox.engine.BaseRenderEngine;
import org.radeox.engine.context.BaseInitialRenderContext;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * Decorates blog entries and comments by rendering them with Radeox, internal
 * links pointing to static pages within the blog.
 *
 * @author Simon Brown
 */
public class RadeoxDecorator extends ContentDecoratorSupport {
    //#radeoxdecorator.java:24: method: void net.sourceforge.pebble.decorator.RadeoxDecorator.net.sourceforge.pebble.decorator.RadeoxDecorator()
    //#input(void net.sourceforge.pebble.decorator.RadeoxDecorator()): this
    //#radeoxdecorator.java:24: end of method: void net.sourceforge.pebble.decorator.RadeoxDecorator.net.sourceforge.pebble.decorator.RadeoxDecorator()

  private static final String WIKI_START_TAG = "<wiki>";
  private static final String WIKI_END_TAG = "</wiki>";

  /**
   * Decorates the specified blog entry.
   *
   * @param context   the context in which the decoration is running
   * @param blogEntry the blog entry to be decorated
   */
  public void decorate(ContentDecoratorContext context, BlogEntry blogEntry) {
    InitialRenderContext initialContext = new BaseInitialRenderContext();
    //#radeoxdecorator.java:36: method: void net.sourceforge.pebble.decorator.RadeoxDecorator.decorate(ContentDecoratorContext, BlogEntry)
    //#radeoxdecorator.java:36: Warning: method not available
    //#    -- call on void org.radeox.engine.context.BaseInitialRenderContext()
    //#    severity: INFORMATIONAL
    //#    class: net.sourceforge.pebble.decorator.RadeoxDecorator
    //#    method: void decorate(ContentDecoratorContext, BlogEntry)
    //#    unanalyzed callee: void org.radeox.engine.context.BaseInitialRenderContext()
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): __Descendant_Table[net/sourceforge/pebble/decorator/RadeoxDecorator]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): __Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): __Dispatch_Table.getBlog()Lnet/sourceforge/pebble/domain/Blog;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.__Tag
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.body
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.excerpt
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.propertyChangeSupport
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[net/sourceforge/pebble/domain/AbstractBlog]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[net/sourceforge/pebble/domain/Blog]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[net/sourceforge/pebble/domain/MultiBlog]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Dispatch_Table.getCountry()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Dispatch_Table.getLanguage()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[net/sourceforge/pebble/domain/Blog]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getCountry()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getLanguage()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getLocale()Ljava/util/Locale;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Descendant_Table[net/sourceforge/pebble/domain/BlogEntry]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getBody()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getExcerpt()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.setBody(Ljava/lang/String;)V
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.setExcerpt(Ljava/lang/String;)V
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/MultiBlog.__Dispatch_Table.getCountry()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/MultiBlog.__Dispatch_Table.getLanguage()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): this
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): this.__Tag
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): this.blog
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): this.blog.__Tag
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): this.blog.properties
    //#output(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.body
    //#output(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.excerpt
    //#pre[1] (void decorate(ContentDecoratorContext, BlogEntry)): blogEntry != null
    //#pre[2] (void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.__Tag == net/sourceforge/pebble/domain/BlogEntry
    //#pre[3] (void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.propertyChangeSupport != null
    //#pre[4] (void decorate(ContentDecoratorContext, BlogEntry)): init'ed(blogEntry.body)
    //#pre[5] (void decorate(ContentDecoratorContext, BlogEntry)): init'ed(blogEntry.excerpt)
    //#pre[7] (void decorate(ContentDecoratorContext, BlogEntry)): this.__Tag == net/sourceforge/pebble/decorator/RadeoxDecorator
    //#pre[8] (void decorate(ContentDecoratorContext, BlogEntry)): this.blog != null
    //#pre[9] (void decorate(ContentDecoratorContext, BlogEntry)): this.blog.__Tag == net/sourceforge/pebble/domain/Blog
    //#pre[10] (void decorate(ContentDecoratorContext, BlogEntry)): this.blog.properties != null
    //#post(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.body != null
    //#post(void decorate(ContentDecoratorContext, BlogEntry)): init'ed(blogEntry.excerpt)
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.util.regex.Pattern:compile
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.util.regex.Pattern:matcher
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.util.regex.Matcher:find
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.util.regex.Matcher:start
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.util.regex.Matcher:end
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.String:substring
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:org.radeox.api.engine.RenderEngine:render
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.String:valueOf
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:org.radeox.engine.BaseRenderEngine
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:org.radeox.api.engine.context.InitialRenderContext:setRenderEngine
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.util.Properties:getProperty
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.util.Locale
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.beans.PropertyChangeSupport:firePropertyChange
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.String:trim
    initialContext.set(RenderContext.INPUT_LOCALE, getBlog().getLocale());
    //#radeoxdecorator.java:37: Warning: method not available
    //#    -- call on void org.radeox.api.engine.context.InitialRenderContext:set(String, Object)
    //#    severity: INFORMATIONAL
    //#    class: net.sourceforge.pebble.decorator.RadeoxDecorator
    //#    method: void decorate(ContentDecoratorContext, BlogEntry)
    //#    unanalyzed callee: void org.radeox.api.engine.context.InitialRenderContext:set(String, Object)
    RenderEngine engineWithContext = new RadeoxWikiRenderEngine(initialContext, getBlog());

    blogEntry.setExcerpt(wikify(blogEntry.getExcerpt(), engineWithContext, initialContext));
    blogEntry.setBody(wikify(blogEntry.getBody(), engineWithContext, initialContext));
  }
    //#radeoxdecorator.java:42: end of method: void net.sourceforge.pebble.decorator.RadeoxDecorator.decorate(ContentDecoratorContext, BlogEntry)

  /**
   * Decorates the specified static page.
   *
   * @param context    the context in which the decoration is running
   * @param staticPage the static page to be decorated
   */
  public void decorate(ContentDecoratorContext context, StaticPage staticPage) {
    InitialRenderContext initialContext = new BaseInitialRenderContext();
    //#radeoxdecorator.java:51: method: void net.sourceforge.pebble.decorator.RadeoxDecorator.decorate(ContentDecoratorContext, StaticPage)
    //#radeoxdecorator.java:51: Warning: method not available
    //#    -- call on void org.radeox.engine.context.BaseInitialRenderContext()
    //#    severity: INFORMATIONAL
    //#    class: net.sourceforge.pebble.decorator.RadeoxDecorator
    //#    method: void decorate(ContentDecoratorContext, StaticPage)
    //#    unanalyzed callee: void org.radeox.engine.context.BaseInitialRenderContext()
    //#input(void decorate(ContentDecoratorContext, StaticPage)): __Descendant_Table[net/sourceforge/pebble/decorator/RadeoxDecorator]
    //#input(void decorate(ContentDecoratorContext, StaticPage)): __Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, StaticPage)): __Dispatch_Table.getBlog()Lnet/sourceforge/pebble/domain/Blog;
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[net/sourceforge/pebble/domain/AbstractBlog]
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[net/sourceforge/pebble/domain/Blog]
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[net/sourceforge/pebble/domain/MultiBlog]
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/AbstractBlog.__Dispatch_Table.getCountry()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/AbstractBlog.__Dispatch_Table.getLanguage()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[net/sourceforge/pebble/domain/Blog]
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getCountry()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getLanguage()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getLocale()Ljava/util/Locale;
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/MultiBlog.__Dispatch_Table.getCountry()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/MultiBlog.__Dispatch_Table.getLanguage()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/StaticPage.__Descendant_Table[net/sourceforge/pebble/domain/StaticPage]
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/StaticPage.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/StaticPage.__Dispatch_Table.getBody()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, StaticPage)): net/sourceforge/pebble/domain/StaticPage.__Dispatch_Table.setBody(Ljava/lang/String;)V
    //#input(void decorate(ContentDecoratorContext, StaticPage)): staticPage
    //#input(void decorate(ContentDecoratorContext, StaticPage)): staticPage.__Tag
    //#input(void decorate(ContentDecoratorContext, StaticPage)): staticPage.body
    //#input(void decorate(ContentDecoratorContext, StaticPage)): staticPage.propertyChangeSupport
    //#input(void decorate(ContentDecoratorContext, StaticPage)): this
    //#input(void decorate(ContentDecoratorContext, StaticPage)): this.__Tag
    //#input(void decorate(ContentDecoratorContext, StaticPage)): this.blog
    //#input(void decorate(ContentDecoratorContext, StaticPage)): this.blog.__Tag
    //#input(void decorate(ContentDecoratorContext, StaticPage)): this.blog.properties
    //#output(void decorate(ContentDecoratorContext, StaticPage)): staticPage.body
    //#pre[1] (void decorate(ContentDecoratorContext, StaticPage)): init'ed(staticPage.body)
    //#pre[2] (void decorate(ContentDecoratorContext, StaticPage)): staticPage != null
    //#pre[3] (void decorate(ContentDecoratorContext, StaticPage)): staticPage.__Tag == net/sourceforge/pebble/domain/StaticPage
    //#pre[4] (void decorate(ContentDecoratorContext, StaticPage)): staticPage.propertyChangeSupport != null
    //#pre[6] (void decorate(ContentDecoratorContext, StaticPage)): this.__Tag == net/sourceforge/pebble/decorator/RadeoxDecorator
    //#pre[7] (void decorate(ContentDecoratorContext, StaticPage)): this.blog != null
    //#pre[8] (void decorate(ContentDecoratorContext, StaticPage)): this.blog.__Tag == net/sourceforge/pebble/domain/Blog
    //#pre[9] (void decorate(ContentDecoratorContext, StaticPage)): this.blog.properties != null
    //#post(void decorate(ContentDecoratorContext, StaticPage)): staticPage.body != null
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.util.regex.Pattern:compile
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.util.regex.Pattern:matcher
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.util.regex.Matcher:find
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.util.regex.Matcher:start
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.util.regex.Matcher:end
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.lang.String:substring
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:org.radeox.api.engine.RenderEngine:render
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.lang.String:valueOf
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:org.radeox.engine.BaseRenderEngine
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:org.radeox.api.engine.context.InitialRenderContext:setRenderEngine
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.util.Properties:getProperty
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.util.Locale
    //#unanalyzed(void decorate(ContentDecoratorContext, StaticPage)): Effects-of-calling:java.beans.PropertyChangeSupport:firePropertyChange
    initialContext.set(RenderContext.INPUT_LOCALE, getBlog().getLocale());
    //#radeoxdecorator.java:52: Warning: method not available
    //#    -- call on void org.radeox.api.engine.context.InitialRenderContext:set(String, Object)
    //#    severity: INFORMATIONAL
    //#    class: net.sourceforge.pebble.decorator.RadeoxDecorator
    //#    method: void decorate(ContentDecoratorContext, StaticPage)
    //#    unanalyzed callee: void org.radeox.api.engine.context.InitialRenderContext:set(String, Object)
    RenderEngine engineWithContext = new RadeoxWikiRenderEngine(initialContext, getBlog());

    staticPage.setBody(wikify(staticPage.getBody(), engineWithContext, initialContext));
  }
    //#radeoxdecorator.java:56: end of method: void net.sourceforge.pebble.decorator.RadeoxDecorator.decorate(ContentDecoratorContext, StaticPage)

  private String wikify(String content, RenderEngine renderEngine, InitialRenderContext renderContext) {
    // is there work to do?
    if (content == null || content.length() == 0) {
    //#radeoxdecorator.java:60: method: String net.sourceforge.pebble.decorator.RadeoxDecorator.wikify(String, RenderEngine, InitialRenderContext)
    //#input(String wikify(String, RenderEngine, InitialRenderContext)): content
    //#input(String wikify(String, RenderEngine, InitialRenderContext)): renderContext
    //#input(String wikify(String, RenderEngine, InitialRenderContext)): renderEngine
    //#output(String wikify(String, RenderEngine, InitialRenderContext)): return_value
    //#pre[3] (String wikify(String, RenderEngine, InitialRenderContext)): (soft) renderEngine != null
    //#presumption(String wikify(String, RenderEngine, InitialRenderContext)): java.lang.String:length(...)@79 - java.lang.String:length(...)@79 in -4_294_967_295..2_147_483_648
    //#presumption(String wikify(String, RenderEngine, InitialRenderContext)): java.util.regex.Pattern:compile(...)@68 != null
    //#presumption(String wikify(String, RenderEngine, InitialRenderContext)): java.util.regex.Pattern:matcher(...)@70 != null
    //#post(String wikify(String, RenderEngine, InitialRenderContext)): return_value != null
    //#test_vector(String wikify(String, RenderEngine, InitialRenderContext)): content: Addr_Set{null}, Inverse{null}
    //#test_vector(String wikify(String, RenderEngine, InitialRenderContext)): java.lang.String:length(...)@60: {1..4_294_967_295}, {0}
    //#test_vector(String wikify(String, RenderEngine, InitialRenderContext)): java.util.regex.Matcher:find(...)@73: {1}, {0}
      return "";
    }

    // this pattern says "take the shortest match you can find where there are
    // one or more characters between wiki tags"
    //  - the match is case insensitive and DOTALL means that newlines are
    //  - considered as a character match
    Pattern p = Pattern.compile(WIKI_START_TAG + ".+?" + WIKI_END_TAG,
        Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
    Matcher m = p.matcher(content);

    // while there are blocks to be escaped
    while (m.find()) {
      int start = m.start();
      int end = m.end();

      // grab the text, strip off the escape tags and transform it
      String textToWikify = content.substring(start, end);
      textToWikify = textToWikify.substring(WIKI_START_TAG.length(), textToWikify.length() - WIKI_END_TAG.length());
      textToWikify = renderEngine.render(textToWikify, renderContext);
    //#radeoxdecorator.java:80: Warning: method not available
    //#    -- call on String org.radeox.api.engine.RenderEngine:render(String, RenderContext)
    //#    severity: INFORMATIONAL
    //#    class: net.sourceforge.pebble.decorator.RadeoxDecorator
    //#    method: String wikify(String, RenderEngine, InitialRenderContext)
    //#    unanalyzed callee: String org.radeox.api.engine.RenderEngine:render(String, RenderContext)

      // now add it back into the original text
      content = content.substring(0, start) + textToWikify + content.substring(end, content.length());
      m = p.matcher(content);
    }

    return content;
    //#radeoxdecorator.java:87: end of method: String net.sourceforge.pebble.decorator.RadeoxDecorator.wikify(String, RenderEngine, InitialRenderContext)
  }

}

class RadeoxWikiRenderEngine extends BaseRenderEngine implements WikiRenderEngine {

  private Blog blog;

  public RadeoxWikiRenderEngine(InitialRenderContext context, Blog blog) {
    super(context);
    //#radeoxdecorator.java:97: method: void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine(InitialRenderContext, Blog)
    //#radeoxdecorator.java:97: Warning: method not available
    //#    -- call on void org.radeox.engine.BaseRenderEngine(InitialRenderContext)
    //#    severity: INFORMATIONAL
    //#    class: net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine
    //#    method: void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine(InitialRenderContext, Blog)
    //#    unanalyzed callee: void org.radeox.engine.BaseRenderEngine(InitialRenderContext)
    //#input(void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine(InitialRenderContext, Blog)): blog
    //#input(void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine(InitialRenderContext, Blog)): context
    //#input(void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine(InitialRenderContext, Blog)): this
    //#output(void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine(InitialRenderContext, Blog)): this.blog
    //#pre[2] (void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine(InitialRenderContext, Blog)): context != null
    //#post(void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine(InitialRenderContext, Blog)): this.blog == blog
    //#post(void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine(InitialRenderContext, Blog)): init'ed(this.blog)
    context.setRenderEngine(this);
    //#radeoxdecorator.java:98: Warning: method not available
    //#    -- call on void org.radeox.api.engine.context.InitialRenderContext:setRenderEngine(RenderEngine)
    //#    severity: INFORMATIONAL
    //#    class: net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine
    //#    method: void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine(InitialRenderContext, Blog)
    //#    unanalyzed callee: void org.radeox.api.engine.context.InitialRenderContext:setRenderEngine(RenderEngine)
    this.blog = blog;
  }
    //#radeoxdecorator.java:100: end of method: void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine(InitialRenderContext, Blog)

  public boolean exists(String name) {
    return blog.getStaticPageIndex().contains(name);
    //#radeoxdecorator.java:103: method: bool net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.exists(String)
    //#input(bool exists(String)): name
    //#input(bool exists(String)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[net/sourceforge/pebble/domain/Blog]
    //#input(bool exists(String)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[others]
    //#input(bool exists(String)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getStaticPageIndex()Lnet/sourceforge/pebble/index/StaticPageIndex;
    //#input(bool exists(String)): net/sourceforge/pebble/index/StaticPageIndex.__Descendant_Table[net/sourceforge/pebble/index/StaticPageIndex]
    //#input(bool exists(String)): net/sourceforge/pebble/index/StaticPageIndex.__Descendant_Table[others]
    //#input(bool exists(String)): net/sourceforge/pebble/index/StaticPageIndex.__Dispatch_Table.contains(Ljava/lang/String;)Z
    //#input(bool exists(String)): this
    //#input(bool exists(String)): this.blog
    //#input(bool exists(String)): this.blog.__Tag
    //#input(bool exists(String)): this.blog.staticPageIndex
    //#input(bool exists(String)): this.blog.staticPageIndex.__Tag
    //#input(bool exists(String)): this.blog.staticPageIndex.index
    //#output(bool exists(String)): return_value
    //#pre[3] (bool exists(String)): this.blog != null
    //#pre[4] (bool exists(String)): this.blog.__Tag == net/sourceforge/pebble/domain/Blog
    //#pre[5] (bool exists(String)): this.blog.staticPageIndex != null
    //#pre[6] (bool exists(String)): this.blog.staticPageIndex.__Tag == net/sourceforge/pebble/index/StaticPageIndex
    //#pre[7] (bool exists(String)): this.blog.staticPageIndex.index != null
    //#post(bool exists(String)): init'ed(return_value)
    //#unanalyzed(bool exists(String)): Effects-of-calling:java.util.Map:containsKey
    //#radeoxdecorator.java:103: end of method: bool net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.exists(String)
  }

  public boolean showCreate() {
    return true;
    //#radeoxdecorator.java:107: method: bool net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.showCreate()
    //#output(bool showCreate()): return_value
    //#post(bool showCreate()): return_value == 1
    //#radeoxdecorator.java:107: end of method: bool net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.showCreate()
  }

  public void appendLink(StringBuffer buffer, String name, String view) {
    appendLink(buffer, name, view, null);
    //#radeoxdecorator.java:111: method: void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.appendLink(StringBuffer, String, String)
    //#input(void appendLink(StringBuffer, String, String)): __Descendant_Table[net/sourceforge/pebble/decorator/RadeoxWikiRenderEngine]
    //#input(void appendLink(StringBuffer, String, String)): __Descendant_Table[others]
    //#input(void appendLink(StringBuffer, String, String)): __Dispatch_Table.appendLink(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    //#input(void appendLink(StringBuffer, String, String)): buffer
    //#input(void appendLink(StringBuffer, String, String)): name
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/Configuration.__Descendant_Table[net/sourceforge/pebble/Configuration]
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/Configuration.__Descendant_Table[others]
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/Configuration.__Dispatch_Table.getUrl()Ljava/lang/String;
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/Configuration.__Dispatch_Table.isVirtualHostingEnabled()Z
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[net/sourceforge/pebble/domain/Blog]
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[others]
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getId()Ljava/lang/String;
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getUrl()Ljava/lang/String;
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/domain/BlogManager.__Descendant_Table[net/sourceforge/pebble/domain/BlogManager]
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/domain/BlogManager.__Descendant_Table[others]
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/domain/BlogManager.__Dispatch_Table.isMultiBlog()Z
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/domain/BlogManager.instance
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/domain/BlogManager.instance.__Tag
    //#input(void appendLink(StringBuffer, String, String)): net/sourceforge/pebble/domain/BlogManager.instance.multiBlog
    //#input(void appendLink(StringBuffer, String, String)): this
    //#input(void appendLink(StringBuffer, String, String)): this.__Tag
    //#input(void appendLink(StringBuffer, String, String)): this.blog
    //#input(void appendLink(StringBuffer, String, String)): this.blog.__Tag
    //#input(void appendLink(StringBuffer, String, String)): this.blog.id
    //#input(void appendLink(StringBuffer, String, String)): view
    //#pre[1] (void appendLink(StringBuffer, String, String)): buffer != null
    //#pre[7] (void appendLink(StringBuffer, String, String)): this.__Tag == net/sourceforge/pebble/decorator/RadeoxWikiRenderEngine
    //#pre[8] (void appendLink(StringBuffer, String, String)): this.blog != null
    //#pre[9] (void appendLink(StringBuffer, String, String)): this.blog.__Tag == net/sourceforge/pebble/domain/Blog
    //#pre[3] (void appendLink(StringBuffer, String, String)): (soft) net/sourceforge/pebble/domain/BlogManager.instance != null
    //#pre[4] (void appendLink(StringBuffer, String, String)): (soft) net/sourceforge/pebble/domain/BlogManager.instance.__Tag == net/sourceforge/pebble/domain/BlogManager
    //#pre[5] (void appendLink(StringBuffer, String, String)): (soft) init'ed(net/sourceforge/pebble/domain/BlogManager.instance.multiBlog)
    //#pre[10] (void appendLink(StringBuffer, String, String)): (soft) init'ed(this.blog.id)
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:java.lang.StringBuffer:append
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:java.lang.StringBuffer
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:getUrl
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:java.lang.String:trim
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:java.lang.StringBuffer:toString
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:net.sourceforge.pebble.util.UrlRewriter:doRewrite
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:java.lang.String:valueOf
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:java.lang.String:indexOf
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:net.sourceforge.pebble.PebbleContext:getInstance
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:net.sourceforge.pebble.PebbleContext:getConfiguration
    //#unanalyzed(void appendLink(StringBuffer, String, String)): Effects-of-calling:java.lang.String:substring
  }
    //#radeoxdecorator.java:112: end of method: void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.appendLink(StringBuffer, String, String)

  public void appendLink(StringBuffer buffer, String name, String view, String anchor) {
    buffer.append("<a href=\"");
    //#radeoxdecorator.java:115: method: void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.appendLink(StringBuffer, String, String, String)
    //#input(void appendLink(StringBuffer, String, String, String)): anchor
    //#input(void appendLink(StringBuffer, String, String, String)): buffer
    //#input(void appendLink(StringBuffer, String, String, String)): name
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/Configuration.__Descendant_Table[net/sourceforge/pebble/Configuration]
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/Configuration.__Descendant_Table[others]
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/Configuration.__Dispatch_Table.getUrl()Ljava/lang/String;
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/Configuration.__Dispatch_Table.isVirtualHostingEnabled()Z
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[net/sourceforge/pebble/domain/Blog]
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[others]
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getId()Ljava/lang/String;
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getUrl()Ljava/lang/String;
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/domain/BlogManager.__Descendant_Table[net/sourceforge/pebble/domain/BlogManager]
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/domain/BlogManager.__Descendant_Table[others]
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/domain/BlogManager.__Dispatch_Table.isMultiBlog()Z
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/domain/BlogManager.instance
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/domain/BlogManager.instance.__Tag
    //#input(void appendLink(StringBuffer, String, String, String)): net/sourceforge/pebble/domain/BlogManager.instance.multiBlog
    //#input(void appendLink(StringBuffer, String, String, String)): this
    //#input(void appendLink(StringBuffer, String, String, String)): this.blog
    //#input(void appendLink(StringBuffer, String, String, String)): this.blog.__Tag
    //#input(void appendLink(StringBuffer, String, String, String)): this.blog.id
    //#input(void appendLink(StringBuffer, String, String, String)): view
    //#pre[2] (void appendLink(StringBuffer, String, String, String)): buffer != null
    //#pre[8] (void appendLink(StringBuffer, String, String, String)): this.blog != null
    //#pre[9] (void appendLink(StringBuffer, String, String, String)): this.blog.__Tag == net/sourceforge/pebble/domain/Blog
    //#pre[4] (void appendLink(StringBuffer, String, String, String)): (soft) net/sourceforge/pebble/domain/BlogManager.instance != null
    //#pre[5] (void appendLink(StringBuffer, String, String, String)): (soft) net/sourceforge/pebble/domain/BlogManager.instance.__Tag == net/sourceforge/pebble/domain/BlogManager
    //#pre[6] (void appendLink(StringBuffer, String, String, String)): (soft) init'ed(net/sourceforge/pebble/domain/BlogManager.instance.multiBlog)
    //#pre[10] (void appendLink(StringBuffer, String, String, String)): (soft) init'ed(this.blog.id)
    //#unanalyzed(void appendLink(StringBuffer, String, String, String)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void appendLink(StringBuffer, String, String, String)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void appendLink(StringBuffer, String, String, String)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void appendLink(StringBuffer, String, String, String)): Effects-of-calling:java.lang.String:valueOf
    //#unanalyzed(void appendLink(StringBuffer, String, String, String)): Effects-of-calling:java.lang.String:indexOf
    //#unanalyzed(void appendLink(StringBuffer, String, String, String)): Effects-of-calling:net.sourceforge.pebble.PebbleContext:getInstance
    //#unanalyzed(void appendLink(StringBuffer, String, String, String)): Effects-of-calling:net.sourceforge.pebble.PebbleContext:getConfiguration
    //#unanalyzed(void appendLink(StringBuffer, String, String, String)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void appendLink(StringBuffer, String, String, String)): Effects-of-calling:java.lang.String:substring
    //#test_vector(void appendLink(StringBuffer, String, String, String)): anchor: Addr_Set{null}, Inverse{null}
    //#test_vector(void appendLink(StringBuffer, String, String, String)): java.lang.String:length(...)@118: {0}, {1..4_294_967_295}
    StringBuffer url = new StringBuffer();
    url.append(blog.getUrl()).append("pages/").append(name).append(".html");
    if (anchor != null && anchor.trim().length() > 0) {
      url.append("#");
      url.append(anchor);
    }
    buffer.append(UrlRewriter.doRewrite(url.toString()));
    //#radeoxdecorator.java:122: Warning: method not available
    //#    -- call on String net.sourceforge.pebble.util.UrlRewriter:doRewrite(String)
    //#    severity: INFORMATIONAL
    //#    class: net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine
    //#    method: void appendLink(StringBuffer, String, String, String)
    //#    unanalyzed callee: String net.sourceforge.pebble.util.UrlRewriter:doRewrite(String)
    buffer.append("\">");
    buffer.append(view);
    buffer.append("</a>");
  }
    //#radeoxdecorator.java:126: end of method: void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.appendLink(StringBuffer, String, String, String)

  public void appendCreateLink(StringBuffer buffer, String name, String view) {
    buffer.append("<a href=\"addStaticPage.secureaction?name=");
    //#radeoxdecorator.java:129: method: void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.appendCreateLink(StringBuffer, String, String)
    //#input(void appendCreateLink(StringBuffer, String, String)): buffer
    //#input(void appendCreateLink(StringBuffer, String, String)): name
    //#input(void appendCreateLink(StringBuffer, String, String)): view
    //#pre[1] (void appendCreateLink(StringBuffer, String, String)): buffer != null
    buffer.append(name);
    buffer.append("\">");
    buffer.append(view);
    buffer.append("</a><sup>?</sup>");
  }
    //#radeoxdecorator.java:134: end of method: void net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.appendCreateLink(StringBuffer, String, String)
}    //#output(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Descendant_Table[net/sourceforge/pebble/decorator/RadeoxWikiRenderEngine]
    //#output(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Dispatch_Table.appendCreateLink(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V
    //#output(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Dispatch_Table.appendLink(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V
    //#output(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Dispatch_Table.appendLink(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    //#output(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Dispatch_Table.exists(Ljava/lang/String;)Z
    //#output(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Dispatch_Table.showCreate()Z
    //#post(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Descendant_Table[net/sourceforge/pebble/decorator/RadeoxWikiRenderEngine] == &__Dispatch_Table
    //#post(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Dispatch_Table.appendCreateLink(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V == &appendCreateLink
    //#post(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Dispatch_Table.appendLink(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;)V == &appendLink
    //#post(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Dispatch_Table.appendLink(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V == &appendLink
    //#post(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Dispatch_Table.exists(Ljava/lang/String;)Z == &exists
    //#post(net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init): __Dispatch_Table.showCreate()Z == &showCreate
    //#radeoxdecorator.java:: end of method: net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine.net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine__static_init
    //#radeoxdecorator.java:: end of class: net.sourceforge.pebble.decorator.RadeoxWikiRenderEngine
    //#output(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Descendant_Table[net/sourceforge/pebble/decorator/RadeoxDecorator]
    //#output(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/BlogEntry;)V
    //#output(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/Comment;)V
    //#output(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/StaticPage;)V
    //#output(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/TrackBack;)V
    //#output(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.getBlog()Lnet/sourceforge/pebble/domain/Blog;
    //#output(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.setBlog(Lnet/sourceforge/pebble/domain/Blog;)V
    //#output(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.wikify(Ljava/lang/String;Lorg/radeox/api/engine/RenderEngine;Lorg/radeox/api/engine/context/InitialRenderContext;)Ljava/lang/String;
    //#output(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): net/sourceforge/pebble/api/decorator/ContentDecorator.__Descendant_Table[net/sourceforge/pebble/decorator/RadeoxDecorator]
    //#output(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): net/sourceforge/pebble/decorator/ContentDecoratorSupport.__Descendant_Table[net/sourceforge/pebble/decorator/RadeoxDecorator]
    //#post(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Descendant_Table[net/sourceforge/pebble/decorator/RadeoxDecorator] == &__Dispatch_Table
    //#post(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): net/sourceforge/pebble/api/decorator/ContentDecorator.__Descendant_Table[net/sourceforge/pebble/decorator/RadeoxDecorator] == &__Dispatch_Table
    //#post(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): net/sourceforge/pebble/decorator/ContentDecoratorSupport.__Descendant_Table[net/sourceforge/pebble/decorator/RadeoxDecorator] == &__Dispatch_Table
    //#post(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/BlogEntry;)V == &decorate
    //#post(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/Comment;)V == &net/sourceforge/pebble/decorator/ContentDecoratorSupport.decorate
    //#post(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/StaticPage;)V == &decorate
    //#post(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/TrackBack;)V == &net/sourceforge/pebble/decorator/ContentDecoratorSupport.decorate
    //#post(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.getBlog()Lnet/sourceforge/pebble/domain/Blog; == &net/sourceforge/pebble/decorator/ContentDecoratorSupport.getBlog
    //#post(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.setBlog(Lnet/sourceforge/pebble/domain/Blog;)V == &net/sourceforge/pebble/decorator/ContentDecoratorSupport.setBlog
    //#post(net.sourceforge.pebble.decorator.RadeoxDecorator__static_init): __Dispatch_Table.wikify(Ljava/lang/String;Lorg/radeox/api/engine/RenderEngine;Lorg/radeox/api/engine/context/InitialRenderContext;)Ljava/lang/String; == &wikify
    //#radeoxdecorator.java:: end of method: net.sourceforge.pebble.decorator.RadeoxDecorator.net.sourceforge.pebble.decorator.RadeoxDecorator__static_init
    //#radeoxdecorator.java:: end of class: net.sourceforge.pebble.decorator.RadeoxDecorator
