have MarcExtractor freeze all it's internal state on creation -- it's read-only, safe for sharing between threads, lets enforce its immutability