@ SuppressWarnings ( { "unchecked" , "static-method" } ) @ Pure final < O > O unwrap ( O obj ) { O unwrapped = obj ; if ( obj instanceof TerminalConnection ) { unwrapped = ( O ) ( ( TerminalConnection ) obj ) . getWrappedRoadConnection ( ) ; } else if ( obj instanceof WrapSegment ) { unwrapped = ( O ) ( ( WrapSegment ) obj ) . getWrappedSegment ( ) ; } assert unwrapped != null ; return unwrapped ; }
Unwrap a connection .