Returns the classes required for the application
@returns {String[]}
function() {
      var result = {};
      this.__classes.forEach(name => result[name] = true);
      this.__expandClassnames(this.getInclude()).forEach(name => result[name] = true);
      this.__expandClassnames(this.getExclude()).forEach(name => delete result[name]);
      
      // We sort the result so that we can get a consistent ordering for loading classes, otherwise the order in
      //  which the filing system returns the files can cause classes to be loaded in a lightly different sequence;
      //  that would not cause a problem, except that the build is not 100% repeatable.
      return Object.keys(result).sort();
    }