Java Optional: map to string from boolean : I'd like to re-write this code using `Optional`-like code:

    private Order buildOrder(String field) {
		if (field.startsWith("-")) {
			return Order.desc(field.substring(1));
		}
		else {
			return Order.asc(field);
		}
    }

Up to now, I've been able to code that:

    private Order buildOrder(String field) {
        return Optional.of(field.startsWith("-"))
          .filter(Boolean::booleanValue)
          .map(() -> field.substring(1))  <<<<1>>>>
          .orElse(field)
          .map(Order.desc(field.substring(1)))
          .orElse(Order.asc(field));
    }

But I'm getting this compilation error on `<<<<1>>>>`:

> Lambda expression's signature does not match the signature of the functional interface method `apply(? super Boolean)`
> Type mismatch: cannot convert from `String` to `? extends U`