Description
function getPageClassList from class ConfigService
has an incorrect signature
public List<? extends Page> getPageClassList();
while it should be
public List<Class<? extends Page>> getPageClassList();
This function when used causes sometimes ClassCastException. However this is not repeatable. I assume that javac compiler generates code which try to cast to incorrect generic type.
Loop construction like
for(Class<? extends Page> clazz : configService.getPageClassList())
is rejected by java compiler
Please correct the signature in ConfigService and its implementation in XmlConfigService