Rebuilt the compose operation in Range.java.  Modified to
handle edge cases not handled in the original Range.compose function.
Code is conditional'd so we can back out.