@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; }