println is java method? true println is script function? false getProperty is java method? true getProperty is script function? false File is java method? true File is script function? false eval is script function? true eval is java method? false hello is script function? true hello is java method? false out is script object? false System is script object? false Object is script object? true {} is script object? true /foo/ is script object? true java.lang.String is java function? true java.lang.Runnable instance is java function? true eval is java function? false println is java function? true getProperty is java function? true callable JSObject is function? true Non callable JSObject is function? false lock is java object? true eval is java object? false {} is java object? false /foo/ is java object? false [] is java object? false java.io.File is java object? true about to wait.. new thread notifying.. done waiting! about to wait.. new thread notifying.. done waiting! TypeError: 232 is not a function TypeError: 232 is not a function TypeError: [object Object] is not a function TypeError: [object Object] is not a function TypeError: [object Array] is not a function TypeError: [object Array] is not a function TypeError: hello is not a function TypeError: hello is not a function TypeError: null is not a function TypeError: null is not a function TypeError: undefined is not a function TypeError: undefined is not a function