Github user ahgittin commented on a diff in the pull request:

    https://github.com/apache/brooklyn-server/pull/982#discussion_r214702367
  
    --- Diff: 
utils/common/src/main/java/org/apache/brooklyn/util/guava/Maybe.java ---
    @@ -365,7 +365,7 @@ public RuntimeException getException() {
                 });
             }
             public static <T> Maybe<T> changeExceptionSupplier(Maybe<T> 
original, Function<AnyExceptionSupplier<?>,Supplier<? extends 
RuntimeException>> transform) {
    -            if (original.isPresent()) return original;
    +            if (original==null || original.isPresent()) return original;
    --- End diff --
    
    semantics of method were to change exception supplier _if_ it's absent, and 
do nothing if it's present.  logical extension of that is also to do nothing if 
it's null IMO.  if we were to "fail fast" we are applying a particular dogma 
that says a `Maybe` shouldn't be null, which might be helpful in some 
situations but it gets in the way in others.  if the `Maybe` being null is a 
problem the user will likely discover that, and it's not much helpful if we 
discover that slightly earlier.  more helpful i think to allow callers who 
might have a null Maybe.


---

Reply via email to