func newReaderGenerator(s model.Struct, location string, allStructs []model.Struct) *readerGenerator {
	outputReader, outputReadSetter, outputReadSetConfigurer := structConfig(s.DocLines)
	if !outputReader && !outputReadSetter && !outputReadSetConfigurer {
		return nil
	}
	if outputReadSetConfigurer {
		outputReadSetter = true
	}
	fields := structFields(location, s, allStructs)
	return &readerGenerator{
		s:                       s,
		outputReader:            outputReader,
		outputReadSetter:        outputReadSetter,
		outputReadSetConfigurer: outputReadSetConfigurer,
		fields:                  fields,
	}
}
newReaderGenerator processes the given struct and then outputs a generator if
any code is necessary to be output.
package codegen
import (
	"sort"
	"strings"
	"github.com/MarcGrol/golangAnnotations/model"
)
type readerGenerator struct {
	s                       model.Struct
	outputReader            bool
	outputReadSetter        bool
	outputReadSetConfigurer bool
	fields fieldsInfo
}