code: public static <T> ScopedBindingBuilder createChoiceWithDefault(
        Binder binder,
        String property,
        Key<T> interfaceKey,
        String defaultPropertyValue
    )
    {
      Preconditions.checkNotNull(defaultPropertyValue);
      ConfiggedProvider<T> provider = new ConfiggedProvider<>(interfaceKey, property, null, defaultPropertyValue);
      return binder.bind(interfaceKey).toProvider(provider);
    }
docs: Sets up a "choice" for the injector to resolve at injection time.
  
  @param binder the binder for the injector that is being configured
  @param property the property that will be checked to determine the implementation choice
  @param interfaceKey the interface that will be injected using this choice
  @param defaultPropertyValue the default property value to use if the property is not set.
  @param <T> interface type
  @return A ScopedBindingBuilder so that scopes can be added to the binding, if required.