    # File temp/text.rb, line 60
        def initialize(arg, respect_whitespace=false, parent=nil, raw=nil,
          entity_filter=nil, illegal=ILLEGAL )

          @raw = false

          if parent
            super( parent )
            @raw = parent.raw
          else
            @parent = nil
          end

          @raw = raw unless raw.nil?
          @entity_filter = entity_filter
          @normalized = @unnormalized = nil

          if arg.kind_of? String
            @string = arg.clone
            @string.squeeze!(" \n\t") unless respect_whitespace
          elsif arg.kind_of? Text
            @string = arg.to_s
            @raw = arg.raw
          elsif
            raise "Illegal argument of type #{arg.type} for Text constructor (#{arg})"
          end

          @string.gsub!( /\r\n?/, "\n" )

          # check for illegal characters
          if @raw
            if @string =~ illegal
              raise "Illegal character '#{$1}' in raw string \"#{@string}\""
            end
          end
        end