code: public void registerHandler(Class valueType, OptionHandlerFactory factory) {
          checkNonNull(valueType, "valueType");
          checkNonNull(factory, "factory");
  
          handlers.put(valueType, factory);
      }
docs: Registers a user-defined {@link OptionHandler} class with args4j.
  
  <p>
  This method allows users to extend the behavior of args4j by writing
  their own {@link OptionHandler} implementation.
  
  @param valueType
  The specified handler is used when the field/method annotated by {@link Option}
  is of this type.
  @param factory
  Factory to instantiate handler upon request.
  @throws NullPointerException if {@code valueType} or {@code factory} is {@code null}.