code: @Override
      protected void readCode()
          throws InstallationException
      {
          super.readCode();
          try {
              DefaultJasperReportsContext.getInstance().setProperty("net.sf.jasperreports.query.executer.factory.eFaps",
                              FakeQueryExecuterFactory.class.getName());
  
              this.jasperDesign = new JRXmlLoader(DefaultJasperReportsContext.getInstance(), JRXmlDigesterFactory
                              .createDigester(DefaultJasperReportsContext.getInstance())).loadXML(newCodeInputStream());
          } catch (final ParserConfigurationException e) {
              throw new InstallationException("source code for " + getUrl() + "could not be parsed", e);
          } catch (final SAXException e) {
              throw new InstallationException("source code for " + getUrl() + "could not parsed", e);
          } catch (final JRException e) {
              // the error is very useful for the user so print it to the log
              LOG.error("The file {} cannot be read due to an JRException {}", getUrl(), e);
              throw new InstallationException("source code for " + getUrl() + "throws JRException", e);
          } catch (final UnsupportedEncodingException e) {
              throw new InstallationException("source code for " + getUrl() + "could not encoded", e);
          }
      }
docs: {@inheritDoc}