[#1650] Make it possible to override isSharable() to simplify things for clojure users
Merge remote-tracking branch upstream/$:{upbranch}