We really cannot just let BytesRef pile up into some mega API.
When we add things to the public API, we have to eventually support this stuff in future releases.
If we are hell-bent to keep the api, we must fix the bogosities about it, otherwise its unmaintainable, and should be removed:
- the fact it is copy(short) is wrong, if i delete the copy(short) and copy(int) methods everything compiles as normal, leading me to believe they are unused. this is because anything using thse gets promoted to copy(long). So the methods must be renamed to copyShort, copyInt, etc to prevent these types of mistakes.
- why do we reset the offset to 0?
In general i'm just wondering why this is needed in bytesref itself... do people know about ByteArrayDataInput and ByteArrayDataOutput?
Separately, I'm still going to remove all unused bytesref methods at the current moment... i'll leave this one be though.