code: public static <T> MapBinder<String, T> optionBinder(Binder binder, Key<T> interfaceKey)
    {
      final TypeLiteral<T> interfaceType = interfaceKey.getTypeLiteral();
  
      if (interfaceKey.getAnnotation() != null) {
        return MapBinder.newMapBinder(binder, TypeLiteral.get(String.class), interfaceType, interfaceKey.getAnnotation());
      } else if (interfaceKey.getAnnotationType() != null) {
        Class<? extends Annotation> annotationType = interfaceKey.getAnnotationType();
        return MapBinder.newMapBinder(binder, TypeLiteral.get(String.class), interfaceType, annotationType);
      } else {
        return MapBinder.newMapBinder(binder, TypeLiteral.get(String.class), interfaceType);
      }
    }
docs: Binds an option for a specific choice.  The choice must already be registered on the injector for this to work.
  
  @param binder the binder for the injector that is being configured
  @param interfaceKey the interface that will have an option added to it.  This must equal the
  Key provided to createChoice
  @param <T> interface type
  @return A MapBinder that can be used to create the actual option bindings.