docs: public Page transform(Factory factory, ConfigImpl config, SourceCode sc, TagLib[] tlibs, FunctionLib[] flibs, long sourceLastModified, Boolean dotNotationUpperCase,
  	    boolean returnValue, boolean ignoreScope) throws TemplateException {
  	boolean dnuc;
  	if (dotNotationUpperCase == null) {
  	    if (sc instanceof PageSourceCode)
  		dnuc = sc.getDialect() == CFMLEngine.DIALECT_CFML && ((MappingImpl) ((PageSourceCode) sc).getPageSource().getMapping()).getDotNotationUpperCase();
  	    else dnuc = sc.getDialect() == CFMLEngine.DIALECT_CFML && config.getDotNotationUpperCase();
  	}
  	else dnuc = dotNotationUpperCase;
  
  	TagLib[][] _tlibs = new TagLib[][] { null, new TagLib[0] };
  	_tlibs[TAG_LIB_GLOBAL] = tlibs;
  	// reset page tlds
  	if (_tlibs[TAG_LIB_PAGE].length > 0) {
  	    _tlibs[TAG_LIB_PAGE] = new TagLib[0];
  	}
  
  	Page page = new Page(factory, config, sc, null, ConfigWebUtil.getEngine(config).getInfo().getFullVersionInfo(), sourceLastModified, sc.getWriteLog(),
  		sc.getDialect() == CFMLEngine.DIALECT_LUCEE || config.getSuppressWSBeforeArg(), config.getDefaultFunctionOutput(), returnValue, ignoreScope);
  
  	TransfomerSettings settings = new TransfomerSettings(dnuc, sc.getDialect() == CFMLEngine.DIALECT_CFML && factory.getConfig().getHandleUnQuotedAttrValueAsString(),
  		ignoreScope);
  	Data data = new Data(factory, page, sc, new EvaluatorPool(), settings, _tlibs, flibs, config.getCoreTagLib(sc.getDialect()).getScriptTags(), false);
  	transform(data, page);
  	return page;
  
      }