# File temp/source.rb, line 9
                def SourceFactory::create_from arg#, slurp=true
      if arg.kind_of? String
                          Source.new(arg)
      elsif arg.respond_to? :read and
            arg.respond_to? :readline and
            arg.respond_to? :nil? and
            arg.respond_to? :eof?
                                IOSource.new(arg)
      elsif arg.kind_of? Source
        arg
      else
        raise "#{source.class} is not a valid input stream.  It must walk \n"+
        "like either a String, IO, or Source."
      end
                end