docs: @Override
      public void startElement(final String uri, final String localName, final String name, final Attributes atts)
              throws SAXException {
          AttributesImpl resAtts = null;
          final String conkeyref = atts.getValue(ATTRIBUTE_NAME_CONKEYREF);
          conkeyref: if (conkeyref != null) {
              final int keyIndex = conkeyref.indexOf(SLASH);
              final String key = keyIndex != -1 ? conkeyref.substring(0, keyIndex) : conkeyref;
              final KeyDef keyDef = keys.get(key);
              if (keyDef != null) {
                  final String id = keyIndex != -1 ? conkeyref.substring(keyIndex + 1) : null;
                  if (delayConrefUtils != null) {
                      final List<Boolean> list = delayConrefUtils.checkExport(stripFragment(keyDef.href).toString(), id, key, job.tempDir);
                      final boolean idExported = list.get(0);
                      final boolean keyrefExported = list.get(1);
                      //both id and key are exported and transtype is eclipsehelp
                      if (idExported && keyrefExported) {
                          break conkeyref;
                      }
                  }
                  resAtts = new AttributesImpl(atts);
                  XMLUtils.removeAttribute(resAtts, ATTRIBUTE_NAME_CONKEYREF);
                  final KeyDef k = keys.get(key);
                  if (k.href != null && (k.scope.equals(ATTR_SCOPE_VALUE_LOCAL))) {
                      URI target = getRelativePath(k.href);
                      final String keyFragment = k.href.getFragment();
                      if (id != null && keyFragment != null) {
                          target = setFragment(target, keyFragment + SLASH + id);
                      } else if (id != null) {
                          target = setFragment(target, id);
                      } else if (keyFragment != null) {
                          target = setFragment(target, keyFragment);
                      }
                      XMLUtils.addOrSetAttribute(resAtts, ATTRIBUTE_NAME_CONREF, target.toString());
                  } else {
                      logger.warn(MessageUtils.getMessage("DOTJ060W", key, conkeyref).toString());
                  }
              } else {
                  logger.error(MessageUtils.getMessage("DOTJ046E", conkeyref).toString());
              }
          }
          getContentHandler().startElement(uri, localName, name, resAtts != null ? resAtts : atts);
      }