Cita: no coloco el codigo completo ya que es muy extenso;
¿Y no supones que poniendo un código parcial, puede estar quedando afuera justamente lo que causa el error?
Entendamos que si nos das información
parcial es altamente probable que jamás encontremos el error.
¿No te parece?