* @param source The source to search for dynamic extensions
* @return A list, possibly empty, of extensions found in the source
*/
public List<IWebApplicationExtension> findNewExtensions (ClassSource source) {
List<IWebApplicationExtension> extensions = new ArrayList<IWebApplicationExtension>();
for (ClassSourceMatch match : source.accept(new ClassSourceScanner("webserver.properties").addSuffixes("WebExtension")).getMatches()) {
if (match.getType() == Type.Resource) continue;
try {
ClassDescriptor eclass = ClassCache.getFor( classContext.loadClass(match.getName()) );
if (!this.isExtensionLoaded(eclass.getDescribedClass())) {