S i t e bootstrapMethod ( . . . ) { C a l l S i t e cs = . . MethodHandle g = lookup () . f i n d V i r t u a l ( S t r i n g .class, ” isEmpty ” , methodType ( boolean.class) ) ; MethodHandle t = lookup () . f i n d S t a t i c (Some , ” addGoogle ” , methodType ( S t r i n g . class, S t r i n g .class) ) ; //Append google to the t a i l . MethodHandle f = lookup () . f i n d S t a t i c ( Other , ”addYahoo” , methodType ( S t r i n g . class, S t r i n g .class) ) ; //Append yahoo to the t a i l . MethodHandle gwt = MethodHandles . guardWithTest (g , t , f ) ; MethodHandle d0 = MethodHandles . f i l t e r R e t u r n ( gwt , f ) ; cs . setTarget ( d0 ) ; return cs ; }