モナド...
まず、自分には、理解はいいから、使えればいい。
参考URL
http://the.igreque.info/posts/2016/04-monad-in-java.html
上記URLから抜粋すると とりあえず下記のメソッドのインタフェースを用意するらしい
interface Monad<T1> { <T2> Monad<T2> then(Function<T1, Monad<T2>> action); interface Return { <T> Monad<T> doNothingReturning(T value); } }