private final int getRoundKey(final int key, final boolean upORdown, final boolean acceptEqual) {
		if (isEmpty())
			return NULL_VALUE;
		int slot = findSlotByKey(key);
		if (upORdown) {
			// ceiling / higher
			slot = ((slot < 0) ? (-slot) - 1 : (acceptEqual ? slot : slot + 1));
			if (slot >= allocated) {
				return NULL_VALUE;
			}
		} else {
			// floor / lower
			slot = ((slot < 0) ? (-slot) - 2 : (acceptEqual ? slot : slot - 1));
			if (slot < 0) {
				return NULL_VALUE;
			}
		}
		return keys[slot];
	}
private final int getRoundKey ( final int key , final boolean upORdown , final boolean acceptEqual ) { if ( isEmpty ( ) ) return NULL_VALUE ; int slot = findSlotByKey ( key ) ; if ( upORdown ) { slot = ( ( slot < 0 ) ? ( - slot ) - 1 : ( acceptEqual ? slot : slot + 1 ) ) ; if ( slot >= allocated ) { return NULL_VALUE ; } } else { slot = ( ( slot < 0 ) ? ( - slot ) - 2 : ( acceptEqual ? slot : slot - 1 ) ) ; if ( slot < 0 ) { return NULL_VALUE ; } } return keys [ slot ] ; }
find key

@param key
@param upORdown
@param acceptEqual
@return