public void untilComplete(){
	while(one.needsDrink() || two.needsDrink() || three.needsDrink()){
		(new Thread(server)).start();
		if(one.needsDrink()){
			(new Thread(one)).start();
		}else{
			System.out.println("One has completed");
		}
		if(two.needsDrink()){
			(new Thread(two)).start();
		}else{
			System.out.println("Two has completed");
		}
		if(three.needsDrink()){
			(new Thread(three)).start();
		}else{
			System.out.println("Three has completed");
		}
		
		int permits = serv.availablePermits();
		System.out.println("The number of server permits " + permits);
		if(permits == 0){
			System.out.println("Increasing server permits");
			serv.release();
			permits = serv.availablePermits();
			System.out.println("The number of server permits " + permits);
		}else if( permits >1){
			try {
				serv.acquire();
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		}
	System.out.println("All drinkers are fufilled");
}