@SuppressWarnings("nls")
 Object lookup(String key, Map<String, Object> args) {
   Object value = null;
   TemplateResource r = null;
   if (key.startsWith(":include:")) {
     key = key.substring(9);
     r = mTemplate.lookupResource(key);
     if (r != null) {
       value = r.mContent;
     }
   } else if (key.startsWith(":parse:")) {
     key = key.substring(7);
     r = mTemplate.lookupResource(key);
     /** Avoid recursion at this point */
     if (r != null && r != this) {
       value = r.process(args);
     }
   } else {
     value = args.get(key);
     if (value == null) {
       value = mTemplate.mProperties.get(key);
     }
   }
   return value;
 }