Java: envío de un objeto que apunta a una imagen almacenada a través de un socket

Me y un grupo de amigos están trabajando en un proyecto en Java, y necesitamos ayuda para enviar objetos a través de sockets.

asta ahora, hemos logrado enviar objetos simples (ints, strings y otras cosas) a través de sockets, usandoObjectOutputStream yObjectInputStream. Sin embargo, nos encontramos con un gran problema hoy (enorme para nosotros, de todos modos ^^)

Tenemos una estructura de árbol, que necesitamos enviar de una PC a otra. El problema es que, dentro de cada nodo de ese árbol, tenemos una referencia a una BufferedImage y no es serializable.

Hemos estado investigando mucho hoy, y descubrimos que podemos usarImageIO.write() mandarun BufferedImage a través del OutputStream del socket, sin embargo, no es bueno para nosotros ya que no necesitamos enviar la BufferedImage por sí misma, pero todo el árbol donde se encuentra.

Lo que necesitamos es una forma (si existe) de serializar cada BufferedImage, convirtiéndola a otra clase si es necesario, mientras hace el árbol, y haciendo que cada nodo del árbol haga referencia a esa nueva clase serializable, para que el árbol pueda enviarse como un objeto completo ...

Realmente no nos importa el rendimiento, ya que los árboles que enviamos no son tan grandes (10-15 nodos arriba). Gracias de antemano por la ayuda, perdón por el pésimo inglés. Ah, y esto es para una ... bueno, una especie de tarea, en caso de que quiera tenerlo en cuenta: -)

¡¡Gracias!