Due to type erasure, the only way you can do it is if you pass the type as an argument to the method.
If you have access to the Datastore code and can modify you can try to do this:
public class Datastore {
public T void insert(List<T> tList, Class<T> objectClass) {
}
}
and then call it by doing
List<Person> pList = new ArrayList<Person>();
...
dataStore.insert(pList, Person.class);
Every response I've seen to this type of question was to send the class as a parameter to the method.