@SuppressWarnings("unchecked")
 private <T> ArrayList<ChallengeSolver<T>> createList(Challenge<T> c) {
   final ArrayList<ChallengeSolver<T>> ret = new ArrayList<ChallengeSolver<T>>();
   for (final ChallengeSolver<?> s : solverList) {
     try {
       if (s.isEnabled() && s.canHandle(c)) {
         ret.add((ChallengeSolver<T>) s);
       }
     } catch (final Throwable e) {
       logger.log(e);
     }
   }
   return ret;
 }