//TODO use scheduled task to implement timeout
public void waitFor(String name,Cmd command,Context context,String input, long timeout, TimeUnit unit){
        //TODO use scheduled task to implement timeout
        Waiter waiter = new Waiter(command,context,input);
        waitFor(name,waiter);
    }
public void waitFor(String name,Cmd command,Context context,String input, long timeout, TimeUnit unit){
//TODO use scheduled task to implement timeout
Waiter waiter = new Waiter(command,context,input);
waitFor(name,waiter);
public void waitFor(String name,Cmd command,Context context,String input, long timeout, TimeUnit unit){
//TODO use scheduled task to implement timeout
Waiter waiter = new Waiter(command,context,input);
waitFor(name,waiter);
}
public void waitFor(String name,Cmd command,Context context,String input, long timeout, TimeUnit unit){
//TODO use scheduled task to implement timeout
Waiter waiter = new Waiter(command,context,input);
waitFor(name,waiter);
}