code: @Override
  	public void renderTemplate(final String templateName, final Map<String, Object> context, final Map<String, WComponent> taggedComponents,
  			final Writer writer, final Map<String, Object> options) {
  
  		LOG.debug("Rendering plain text template " + templateName);
  
  		// Expects path to be absolute.
  		String name = templateName.startsWith("/") ? templateName : "/" + templateName;
  
  		boolean xmlEncode = options.containsKey(XML_ENCODE);
  
  		String cacheKey = templateName + "-" + xmlEncode;
  		InputStream stream = null;
  
  		// Caching
  		Object value = options.get(USE_CACHE);
  		boolean cache = (isCaching() && value == null) || (value != null && "true".equalsIgnoreCase(value.toString()));
  
  		try {
  			String output = null;
  			if (cache) {
  				output = getCache().get(cacheKey);
  			}
  			if (output == null) {
  				stream = getClass().getResourceAsStream(name);
  				if (stream == null) {
  					throw new SystemException("Could not find plain text template [" + templateName + "].");
  				}
  				output = new String(StreamUtil.getBytes(stream));
  				if (xmlEncode) {
  					output = WebUtilities.encode(output);
  				}
  				if (cache) {
  					getCache().put(cacheKey, output);
  				}
  			}
  			writer.write(output);
  		} catch (SystemException e) {
  			throw e;
  		} catch (Exception e) {
  			throw new SystemException("Problems with plain text template [" + templateName + "]. " + e.getMessage(), e);
  		} finally {
  			StreamUtil.safeClose(stream);
  		}
  
  	}
docs: {@inheritDoc}