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);
  }
}

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 ) ; } }
if user set the valueset , the value will be fetched from the set randomly
