the problem is due to pass main activity to serializable class when creating its related object. in our case passing the MainTest Object to the Discovery object when creating it.
The solution: create another serializable class which contains all Discovery data (data to be serialzable).