code: public <S extends ICDKObject, T extends S> boolean register(Class<S> intf, Constructor<T> constructor) {
          return register(intf, constructor, null);
      }
docs: Register a specific constructor with an explicit interface.
  
  <pre>{@code
  // only register construction of IAtom using a string - Atom("C")
  factory.register(IAtom.class,
  Atom.class.getConstructor(String.class));
  }</pre>
  
  @param intf        the interface
  @param constructor a constructor which builds the given interface
  @param <S>         interface type
  @param <T>         implementation type (must extend interface)
  @return whether the constructor was registered