    # File lib/active_resource/base.rb, line 883
        def load(attributes)
          raise ArgumentError, "expected an attributes Hash, got #{attributes.inspect}" unless attributes.is_a?(Hash)
          @prefix_options, attributes = split_options(attributes)
          attributes.each do |key, value|
            @attributes[key.to_s] =
              case value
                when Array
                  resource = find_or_create_resource_for_collection(key)
                  value.map { |attrs| resource.new(attrs) }
                when Hash
                  resource = find_or_create_resource_for(key)
                  resource.new(value)
                else
                  value.dup rescue value
              end
          end
          self
        end