A small improvement can be made to COSNumber when checking if it's float.
Current version uses indexOf twice, to check for '.' or 'e'.
We can do that in one scan.
Each call will scan through the entire string.
We only have to scan until we find the chars, and stop if found.
I found while profiling the code that the method gets called a lot, so the improvement makes a a bit of a difference.