    # File temp/text.rb, line 360
        def Text::normalize( input, doctype=nil, entity_filter=nil )
          copy = input.to_s
          # Doing it like this rather than in a loop improves the speed
          #copy = copy.gsub( EREFERENCE, '&amp;' )
          copy = copy.gsub( "&", "&amp;" )
          if doctype
            # Replace all ampersands that aren't part of an entity
            doctype.entities.each_value do |entity|
              copy = copy.gsub( entity.value,
                "&#{entity.name};" ) if entity.value and
                  not( entity_filter and entity_filter.include?(entity) )
            end
          else
            # Replace all ampersands that aren't part of an entity
            DocType::DEFAULT_ENTITIES.each_value do |entity|
              copy = copy.gsub(entity.value, "&#{entity.name};" )
            end
          end
          copy
        end