+ * Behavior<String> s = stateless((ctx, msg) -> System.out.println(msg))
+ * Behavior<Number> n = widened(s, pf -> pf.
+ * match(BigInteger.class, i -> "BigInteger(" + i + ")").
+ * match(BigDecimal.class, d -> "BigDecimal(" + d + ")")
+ * // drop all other kinds of Number
+ * );
+ *
+ *
+ * @param behavior
+ * the behavior that will receive the selected messages
+ * @param selector
+ * a partial function builder for describing the selection and
+ * transformation
+ * @return a behavior of the widened type
+ */
+ static public