Kernel#send does not strip off empty keywords hashes before calling eventual method. Not entirely sure if this is a generic issue with all native methods which forward (narrator: likely it is) but given this program:
def method_missing(method, *arguments, &block)
puts "m_m: #{arguments}"
end
args = ['classes', 'schools', Hash.ruby2_keywords_hash({})]
send(:frogger, *args)
in MRI we see the empty hash stripped off and in JRuby we pass it in.