/**
* Builder object which produces a product.
- *
+ *
* @param <P> Product of builder
- *
* @author Tony Tkacik <ttkacik@cisco.com>
+ * @deprecated This is an over-arching concept whose {@link #build()} method hides caller hierarchy. Users are advised
+ * to migrate away, either without a replacement interface, or with a proper domain-specific interface.
*/
-public interface Builder<P> extends Mutable {
-
- /**
- * Returns instance of the product.
- *
- * Multiple calls to this method are not required to return
- * same instance if the state of the builder was changed.
- *
- * @return Newly-built instance
- */
- P toInstance();
+@Deprecated(since = "8.0.0", forRemoval = true)
+public interface Builder<P> extends CheckedBuilder<P, IllegalArgumentException> {
+ @Override
+ P build();
}