Me parece que valdría la pena investigar un poco a ver si esto mismo se puede resolver directamente en la query que DataMapper le tira a la BD en vez de traerse los datos y hacerlo en la aplicación.