public IFieldMapper Parse(JobParser parser, ParseState state)
        {
            var source = state.TryGet("Select", "Pages", true);
            var path   = source.Split('.');

            source = path[0];
            var name = state.TryGet("Name", source);

            Type itemType;
            var  items = Selectors.SelectFromName(source, out itemType);

            var selector = string.Join(".", path.Skip(1));

            if (string.IsNullOrEmpty(selector))
            {
                selector = Selectors.DefaultSelector(source);
            }

            var getterInfo = parser.CompileGetter(itemType, selector);

            return(new SequenceFieldMapper(name,
                                           scope => items(scope).Select(item => getterInfo.Getter(item, scope)),
                                           (SequenceType)
                                           Enum.Parse(typeof(SequenceType), state.TryGet("Type", "Path"), true)));
        }