method

for

for(options)
public

Generators may need to return specific subclasses depending on the options they are passed. Because of this we create them using a factory