code: public static IDataEncoder getEncoder(final String mimeType)
              throws ClassNotFoundException, IllegalAccessException,
              InstantiationException {
  
          populateCache();
  
          if (!cache.containsKey(mimeType)) {
              throw new ClassNotFoundException(
                      String.format("IDataEncoder for"
                              + " mimeType [%s] not found.", mimeType));
          }
  
          Class<? extends IDataEncoder> encoderClass = cache.get(mimeType);
  
          return encoderClass.newInstance();
      }
docs: Retrieve a encoder for a specified mime type.
  
  @param mimeType The mimetype to scan for.
  @return An instance of the encoder.
  @throws ClassNotFoundException Thrown when no encoder for a mimetype is
  found.
  @throws IllegalAccessException Thrown when the encoder's constructor is
  not accessible. Never thrown, as the
  service loader would throw it first.
  @throws InstantiationException Thrown when the encoder's constructor is
  not accessible. Never thrown, as the
  service loader would throw it first.