public <R> Mutable<R> mapOutputToObj(final Function<Character, R> fn) {
        final MutableChar host = this;
        return new Mutable<R>() {
            @Override
            public R get() {
                return fn.apply(host.get());
            }

        };
    }
public < R > Mutable < R > mapOutputToObj ( final Function < Character , R > fn ) { final MutableChar host = this ; return new Mutable < R > ( ) { @ Override public R get ( ) { return fn . apply ( host . get ( ) ) ; } } ; }
Use the supplied function to perform a lazy transform operation when getValue is called
<pre>
{@code
MutableChar mutable = MutableChar.fromExternal(()->!this.value,val->!this.value);
Mutable<Character> withOverride = mutable.mapOutput(b->{
if(override)
return 'a';
return b;
});

}
</pre>


@param fn Map function to be applied to the result when getValue is called
@return Mutable that lazily applies the provided function when getValue is called to the return value