    # File lib/chef/role.rb, line 310
        def self.from_disk(name, force=nil)
          js_file = File.join(Chef::Config[:role_path], "#{name}.json")
          rb_file = File.join(Chef::Config[:role_path], "#{name}.rb")

          if File.exists?(js_file) || force == "json"
            # from_json returns object.class => json_class in the JSON.
            Chef::JSONCompat.from_json(IO.read(js_file))
          elsif File.exists?(rb_file) || force == "ruby"
            role = Chef::Role.new
            role.name(name)
            role.from_file(rb_file)
            role
          else
            raise Chef::Exceptions::RoleNotFound, "Role '#{name}' could not be loaded from disk"
          end
        end