class JSON::GenericObject

def load(source, proc = nil, opts = {})

def load(source, proc = nil, opts = {})
  result = ::JSON.load(source, proc, opts.merge(:object_class => self))
  result.nil? ? new : result
end