Ok... allora la cosa è, da un lato, più semplice, dall'altro più complicata.

Più semplice perchè non ti devi sobbarcare il peso di dover implementare Serializable per tutti gli oggetti contenuti.

Più complicata perchè devi affrontare il problema del reperimento delle informazioni dai JTextComponent.

A tal proposito dovresti dare un'occhiata alla documentazione relativa all'interfaccia Document (di javax.swing.text).
Il documento viene diviso in zone logiche, dette Paragrafi. Ciascun paragrafo, poi, viene diviso in altre zone logiche dette Righe. (Questo in soldoni).


Per quello che devi fare tu, non dovrebbero esserci grossi problemi. Dovresti prendere il Document (che sarà uno StyledDocument), reperire la parte che ti interessa (ciascun carattere o immagine ha una posizione di partenza e una di fine) e modificarla.


In alternativa, potresti fare questo lavoretto a priori: prima di inserire il testo nel JEditorPane, dovresti scandirlo e spezzettarlo. A questo punto inserisci sequenzialmente, testo e immagini in base a come l'hai spezzettato.


PS: per curiosità, stai tentando di costruire una specie di chat dove a ciascun "tag" corrisponde un'immagine?


Ciao.