code: protected static String decode(String component, String charset)
              throws URIException {
          if (component == null) {
              throw new IllegalArgumentException(
                      "Component array of chars may not be null");
          }
          byte[] rawdata = null;
          //     try {
          rawdata = LaxURLCodec.decodeUrlLoose(EncodingUtil
                  .getAsciiBytes(component));
          //     } catch (DecoderException e) {
          //         throw new URIException(e.getMessage());
          //     }
          return EncodingUtil.getString(rawdata, charset);
      }
docs: overridden to use IA's LaxURLCodec, which never throws DecoderException