Current Field supports Reader, String and binary values. With work on removing IndexDocValuesField, it became apparent it'd be a lot cleaner if the support for binary values was moved to BinaryField (like how NumericField supports Numbers). This would leave Field as supporting the most common usecases (Reader and String values) as well as serving as a base class for the other Field implementations in document.*. This will also prove useful when we add support for indexing binary values.
Migrated from LUCENE-3499 by Chris Male