question: private T generateFromSet ( List < T > valueSet ) { if ( valueSet == null || valueSet . size ( ) == 0 ) { throw new RuntimeException ( "The value set is empty" ) ; } else { int random = mRandom . nextInt ( valueSet . size ( ) ) ; return valueSet . get ( random ) ; } }
target:  if user set the valueSet, the value will be fetched from the set randomly