Patch, tests pass, but this is really quite a dangerous change since I
could easily (and likely did) miss places in the code that still think
null means "not indexed" or "no doc values".
I tried adding @NotNull annotations and ran code inspection with
Intellij but was unable to get anything useful out of it: blatant
violations weren't caught, and trivial things were caught, or maybe
I just ran it wrong... If anyone has experience getting @NotNull/NonNull
to report useful issues please help
I also pulled DocValuesType and IndexOptions out of FieldInfo.java
into their own sources (in oal.index), and renamed
IndexOptions.DOCS_ONLY -> DOCS.