question: public void makeVisible ( int index ) { if ( index < 0 || index >= items . size ( ) ) { return ; } if ( isItemHidden ( index ) ) { if ( index < vsb . getValue ( ) ) { scrollVertical ( index - vsb . getValue ( ) ) ; } else if ( index > lastItemDisplayed ( ) ) { int val = index - lastItemDisplayed ( ) ; scrollVertical ( val ) ; } } }
target:  ensure that the given index is visible, scrolling the List if necessary, or doing nothing if the item is already visible. The List must be repainted for changes to be visible.