private static int binarySearchMinStart(
            List<? extends TemporalProposition> params, long timestamp) {
        /*
         * The conditions for using index versus iterator are grabbed from the
         * JDK source code.
         */
        if (params.size() < 5000 || params instanceof RandomAccess) {
            return minStartIndexedBinarySearch(params, timestamp);
        } else {
            return minStartIteratorBinarySearch(params, timestamp);
        }
    }
private static int binarySearchMinStart ( List < ? extends TemporalProposition > params , long timestamp ) { if ( params . size ( ) < 5000 || params instanceof RandomAccess ) { return minStartIndexedBinarySearch ( params , timestamp ) ; } else { return minStartIteratorBinarySearch ( params , timestamp ) ; } }
Binary search for a primitive parameter by timestamp.

@param list
a <code>List</code> of <code>PrimitiveParameter</code>
objects all with the same paramId, cannot be <code>null</code>.
@param tstamp
the timestamp we're interested in finding.
@return a <code>PrimitiveParameter</code>, or null if not found.