code: public static Encoder forName(String contextName) throws NullPointerException, UnsupportedContextException {
          if (contextName == null) {
              throw new NullPointerException();
          }
          Encoder encoder = ENCODERS_MAP.get(contextName);
          if (encoder == null) {
              throw new UnsupportedContextException(contextName);
          }
          return encoder;
      }
docs: Returns a new instance of an Encoder for the specified context. The
  returned instance is thread-safe.
  
  @param contextName the context name (one of the String constants defined
  in this class)
  @return an encoder for the specified context.
  @throws NullPointerException if {@code contextName} is null
  @throws UnsupportedContextException if {@code contextName} is not
  recognized.