package javax.swing.text; import java.lang.ref.WeakReference; import java.util.HashMap; import javax.swing.event.ChangeEvent; import java.lang.ref.ReferenceQueue; import java.util.Map; import javax.swing.undo.CannotUndoException; import javax.swing.undo.CannotRedoException; import javax.swing.undo.AbstractUndoableEdit; import java.util.ArrayList; import java.util.Stack; import java.io.Serializable; import java.io.IOException; import java.io.ObjectInputStream; import java.util.List; import java.util.Iterator; import javax.swing.event.DocumentListener; import javax.swing.SwingUtilities; import java.awt.Font; import java.awt.Color; import java.awt.font.TextAttribute; import java.util.Enumeration; import javax.swing.undo.UndoableEdit; import javax.swing.event.UndoableEditEvent; import javax.swing.event.DocumentEvent; import javax.swing.event.ChangeListener; import java.util.Vector; public class DefaultStyledDocument extends AbstractDocument implements StyledDocument { public static final int BUFFER_SIZE_DEFAULT = 4096; protected DefaultStyledDocument.ElementBuffer buffer; private transient Vector