As far as I can tell you
- run a query on a database and return a list of results
- do a binary search on the list of results.
Can you provide an example of what the data looks like coming back from your mfgDates.getDateNumberArrayList() method?
What are the assumptions that a binary search makes about the input list?
Are those assumptions being met?