We are using visitor pattern while traversing extensions.