code: protected void readESJPPrograms()
          throws InstallationException
      {
          try  {
              final QueryBuilder queryBldr = new QueryBuilder(this.esjpType);
              final MultiPrintQuery multi = queryBldr.getPrint();
              multi.addAttribute("Name");
              multi.executeWithoutAccessCheck();
              while (multi.next()) {
                  final String name = multi.<String>getAttribute("Name");
                  final Long id = multi.getCurrentInstance().getId();
                  final String path = "/" + name.replaceAll("\\.", Matcher.quoteReplacement("/"))
                        + JavaFileObject.Kind.SOURCE.extension;
                  final URI uri;
                  try {
                      uri = new URI("efaps", null, path, null, null);
                  } catch (final URISyntaxException e) {
                      throw new InstallationException("Could not create an URI for " + path, e);
                  }
                  this.name2Source.put(name, new SourceObject(uri, name, id));
              }
          } catch (final EFapsException e) {
              throw new InstallationException("Could not fetch the information about installed ESJP's", e);
          }
      }
docs: All EJSP programs in the eFaps database are read and stored in the
  mapping {@link #name2Source} for further using.
  
  @see #name2Source
  @throws InstallationException if ESJP Java programs could not be read