private void getTemplateInfoForPrecompiledTemplates() {

        StringTokenizer paths = new StringTokenizer(
            System.getProperty("java.class.path"), File.pathSeparator, false);
        while(paths.hasMoreTokens()) {
            String name = paths.nextToken();
            if (!name.endsWith(".jar"))
                continue;
            try {
                JarFile jar = null;
                try {
                    jar = new JarFile(name);
                }
                catch (ZipException zx) {
                    Syslog.warn("The jar file " + name + " is in the classpath but does not exist or is unreadable.");
                    continue;
                }
                for (Enumeration<JarEntry> e = jar.entries(); e.hasMoreElements(); ) {
                    JarEntry entry = e.nextElement();
                    if (! entry.getName().startsWith(TemplateCallExtractor.TEMPLATE_PACKAGE.replace('.', '/')) ||
                            ! entry.getName().endsWith(".class"))
                        continue;

                    MethodInfo mi = TemplateCallExtractor.getTemplateExecuteMethod(jar.getInputStream(entry));
                    if (mi != null) {
                        TemplateInfo t =  new TemplateInfo(mi, entry.getTime(), mRootClassesDir, true);
                        mTemplateInfoMap.put(t.getName(), t);
                    }
                }
            }
            catch (JarException jx) {
                Syslog.error(jx);
            }
            catch (IOException ix) {
                Syslog.error(ix);
            }
        }


    }