# File lib/dm-core/associations/relationship.rb, line 334
      def valid?(source)
        return true if source.nil?

        case source
          when Array, Collection then valid_collection?(source)
          when Resource          then valid_resource?(source)
          else
            raise ArgumentError, "+source+ should be an Array or Resource, but was a #{source.class.name}"
        end
      end