protected virtual IEnumerable <EnumOption> VisitEnumOptions(IEnumerable <EnumOption> options) { var origOptions = options.ToArray(); var newOptions = new EnumOption[origOptions.Length]; var rewrite = false; for (int i = 0; i < origOptions.Length; i++) { newOptions[i] = (EnumOption)Visit(origOptions[i]); rewrite |= newOptions[i] != origOptions[i]; } return(rewrite ? newOptions: options); }
protected virtual IMetaNode VisitEnumOption(EnumOption option) { // do nothing return(option); }