+/**
+ * Class that allows configuration of the constructor to use.
+ *
+ * In particular, it provides:
+ * <ul>
+ * <li> Selection of a constructor using explicit selection
+ * {@link #select(Class...)} or using the most greedy constructor
+ * {@link #greedy()}.
+ * </li>
+ * <li>
+ * Selection of methods to invoke to inject other objects into the object.
+ * </li>
+ * <li> Selection of fields to set.
+ * </li>
+ * </ul>
+ */