code: protected <T> C10NImplementationBinder<T> bind(Class<T> c10nInterface) {
          C10NImplementationBinder<T> binder = new C10NImplementationBinder<T>();
          binders.put(c10nInterface, binder);
          return binder;
      }
docs: <p>Create a custom implementation binding for the given c10n interface
  
  <p>There are two basic usages:
  <pre><code>
  bind(Messages.class).to(JapaneseMessagesImpl.class, Locale.JAPANESE);
  </code></pre>
  
  which will use the <code>JapaneseMessagesImpl.class</code> when locale is
  set to <code>Locale.JAPANESE</code>
  
  <p>The second usage is:
  <pre><code>
  bind(Messages.class).to(FallbackMessagesImpl.class);
  </code></pre>
  
  which will use the <code>FallbackMessagesImpl.class</code> when no other
  implementation class was matched for the current locale.
  
  @param c10nInterface C10N interface to create an implementation binding for (not-null)
  @param <T>           C10N interface type
  @return implementation binding DSL object