I have the following code:
public void doJob() {
    MyObj s;
    for ( Object o : MyObj.all().fetch()) {
        s = (MyObj) o;  // ClassCastException here
        if (!s.fileExists()) {
        //Do some stuff
        }
    }
}
which is throwing this exception:
play.exceptions.JavaExecutionException: models.MyObj cannot be cast to models.MyObj
    at play.jobs.Job.call(Job.java:155)
    at Invocation.Job(Play!)
Caused by: java.lang.ClassCastException: models.MyObj cannot be cast to models.MyObj
    at jobs.OrphanSurveys.doJob(OrphanSurveys.java:18)
    at play.jobs.Job.doJobWithResult(Job.java:50)
    at play.jobs.Job.call(Job.java:146)
    ... 1 more
(This method runs inside a Play Job class, if that matters.)
The MyObj.all().fetch() is returning an Iterable of some kind containing all of the MyObj objects in the database.  MyObj inherits this method from the Play! Framework's Model class, if that matters.  That's why it's returning a list of Objects rather than MyObjs, and I can't change how it works.
So, is there some reason that I can't cast back to MyObj?  I can see how there would be some weirdness casting back from an Object, but Java seems to know what the class of the object used to be.
Thanks!
 
     
     
     
     
    