public boolean isAdjacent ( Marker other ) { checkTypeCompatibility ( other ) ; if ( isUpperUnbounded ( ) || isLowerUnbounded ( ) || other . isUpperUnbounded ( ) || other . isLowerUnbounded ( ) ) { return false ; } if ( type . compareTo ( valueBlock . get ( ) , 0 , other . valueBlock . get ( ) , 0 ) != 0 ) { return false ; } return ( bound == Bound . EXACTLY && other . bound != Bound . EXACTLY ) || ( bound != Bound . EXACTLY && other . bound == Bound . EXACTLY ) ; }
Adjacency is defined by two Markers being infinitesimally close to each other . This means they must share the same value and have adjacent Bounds .