Scusate, non riesco a capire come svolgere l'ultima parte di questa traccia

codice:
Definire una classe OutOfRangeSampleSize per modellare una eccezione
controllata da considerare qualora il numero k di cluster inserito da tastiera
è maggiore maggiore rispetto al numero di centroidi generabili dall'insieme di
transazioni.
In tale case l'oggetto eccezione va creato e sollevato nella implementazione
del metodo sampling(...).
public int[] sampling(int k) throws OutOfRangeSampleSize // da Modificare
Comportamento: Se k<=0 or k>distinctTuples allora si crea ed espelle un
oggetto istanza di OutRangeSampleSize. Altrimenti si procede con
implementazione definite in precedenza
L'oggetto eccezione deve essere propagato fino al main (seguendo lo stack
delle chiamate). Il gestore di tale eccezione deve essere opportunamente
definito nel main della classe MainTest.
Allora, io ho creato la classe OutOfRangeSampleSize
codice:
public class OutOfRangeSampleSize extends Exception{
   public OutOfRangeSampleSize() {}
   public OutOfRangeSampleSize(String msg) {
   super(msg);}
}
e nel metodo sampling ho aggiunto il seguente codice riguardante l'eccezione
codice:
public int[] sampling(int k) throws OutOfRangeSampleSize{
			
	if(k <= 0)
                throw new OutOfRangeSampleSize("k <= 0");
			
	if(k>distinctTuples)
		throw new OutOfRangeSampleSize("k>distinctTuples");

 ........(resto del codice)
Come faccio ora a prorogare l'oggetto eccezione?
La classe dove devo prorogare l'oggetto in questione, è la seguente
codice:
import mining.KMeansMiner;
import data.Data;
import keyboardinput.Keyboard;


public class MainTest {

        /**
	 * @param args
	 */
	public static void main(String[] args) {
		
		
	        Data data =new Data();
		System.out.println(data);
		char continua;
		boolean uscita = true;
		//int k=3;
		do{
			
		
			System.out.print("Inserisci k: ");
//*****QUI VIENE INSERITO IL k CHE VIENE RICHIESTO NEL METODO sampling******//			

                        int k = Keyboard.readInt();
			KMeansMiner kmeans=new KMeansMiner(k);
			int numIter=kmeans.kmeans(data);
			System.out.println("Numero di Iterazione:"+numIter);
			System.out.println(kmeans.getC().toString(data));
			
			do{
				System.out.print("Vuoi ripetere l'esecuzione? y/n: ");
				continua = Keyboard.readChar();
				System.out.println("continua: " + continua);
								
				switch(continua){
					case 'y':
					case 'Y':
					case 'n':
					case 'N':
						uscita = true;
						break;
					default: {
						uscita = false;
						System.out.println("Inserire il carattere corretto");
						}
					
				}
			
			}while(uscita == false);
			
			
		}while(continua == 'y' || continua == 'Y');
		
	}

}
Grazie