Implementation of backtracking algorithms in java using an abstract backtracking framework,