datatypeFactory.register(datatypes);
filterFactories[old.length] = datatypeFactory;
// append the position attribute filter factory
filterFactories[old.length + 1] = new PositionAttributeFilterFactory();
// append the siren payload filter factory
filterFactories[old.length + 2] = new SirenPayloadFilterFactory();
// create a new tokenizer chain with the updated list of filter factories
return new TokenizerChain(chain.getCharFilterFactories(),
chain.getTokenizerFactory(), filterFactories);
}