The idea is to do something like the below and have the compiler check at compile time that toLoad is an array that can contain AType objects (ie: AType extends or is a T NOT T extends or is AType). Is there a way to do this with generics?
private List<AType> aList_;
<T superclassof AType> T[] loadArray(T[] toLoad) {
for(int i = 0; i < alist_.size(); ++i) {
toLoad[i] = (T)aList_.get(i);
}