/**
* Builder object which produces a product.
- *
+ *
* @param <P> Product of builder
- *
- * @author Tony Tkacik <ttkacik@cisco.com>
+ *
+ * @author Tony Tkacik <ttkacik@cisco.com>
*/
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
+ * Returns instance of the product. Multiple calls to this method are not required to return same instance if
+ * the state of the builder has changed.
+ *
+ * @return A newly-built instance
+ * @throws IllegalStateException if the builder's state is not sufficiently initialized
*/
- P toInstance();
+ P build();
}