question: protected void updateRange ( ) { if ( m_type == int . class ) { setRange ( m_lo . intValue ( ) , m_hi . intValue ( ) - m_lo . intValue ( ) , m_min . intValue ( ) , m_max . intValue ( ) ) ; } else if ( m_type == long . class ) { long range = m_max . longValue ( ) - m_min . longValue ( ) ; if ( range == 0 ) { setRange ( 0 , 0 , 0 , 0 ) ; } else { long lo = m_lo . longValue ( ) - m_min . longValue ( ) ; long hi = m_hi . longValue ( ) - m_min . longValue ( ) ; int v = ( int ) ( 10000 * lo / range ) ; int e = ( int ) ( 10000 * hi / range ) - v ; setRange ( v , e , 0 , 10000 ) ; } } else { double range = m_max . doubleValue ( ) - m_min . doubleValue ( ) ; if ( range == 0 ) { setRange ( 0 , 0 , 0 , 0 ) ; } else { double lo = m_lo . doubleValue ( ) - m_min . doubleValue ( ) ; double hi = m_hi . doubleValue ( ) - m_min . doubleValue ( ) ; int v = ( int ) ( 10000.0 * lo / range ) ; int e = ( int ) ( 10000.0 * hi / range ) - v ; setRange ( v , e , 0 , 10000 ) ; } } }
target:  Update the range settings based on current values.