Add missing @Override annotations

Change-Id: I0ad0c0952a556de4b38a0f31f38cfdc84f843508
diff --git a/src/builtin/PRED_$atom_type0_2.java b/src/builtin/PRED_$atom_type0_2.java
index b3e81c3..99bf5b6 100644
--- a/src/builtin/PRED_$atom_type0_2.java
+++ b/src/builtin/PRED_$atom_type0_2.java
@@ -13,6 +13,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_$begin_exception_1.java b/src/builtin/PRED_$begin_exception_1.java
index c4583fe..54fefc7 100644
--- a/src/builtin/PRED_$begin_exception_1.java
+++ b/src/builtin/PRED_$begin_exception_1.java
@@ -16,6 +16,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1;
diff --git a/src/builtin/PRED_$call_2.java b/src/builtin/PRED_$call_2.java
index 7034583..3362933 100644
--- a/src/builtin/PRED_$call_2.java
+++ b/src/builtin/PRED_$call_2.java
@@ -20,6 +20,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_$call_closure_1.java b/src/builtin/PRED_$call_closure_1.java
index 6371364..b4c7b4e 100644
--- a/src/builtin/PRED_$call_closure_1.java
+++ b/src/builtin/PRED_$call_closure_1.java
@@ -12,6 +12,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1;
diff --git a/src/builtin/PRED_$compare0_3.java b/src/builtin/PRED_$compare0_3.java
index 99339f2..24fd061 100644
--- a/src/builtin/PRED_$compare0_3.java
+++ b/src/builtin/PRED_$compare0_3.java
@@ -13,6 +13,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a2 = arg2.dereference();
diff --git a/src/builtin/PRED_$compiled_predicate_3.java b/src/builtin/PRED_$compiled_predicate_3.java
index 4ac03ff..4d3a547 100644
--- a/src/builtin/PRED_$compiled_predicate_3.java
+++ b/src/builtin/PRED_$compiled_predicate_3.java
@@ -14,6 +14,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1 = arg1.dereference();
diff --git a/src/builtin/PRED_$compiled_predicate_or_builtin_3.java b/src/builtin/PRED_$compiled_predicate_or_builtin_3.java
index d220849..8b37fdb 100644
--- a/src/builtin/PRED_$compiled_predicate_or_builtin_3.java
+++ b/src/builtin/PRED_$compiled_predicate_or_builtin_3.java
@@ -14,6 +14,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1 = arg1.dereference();
diff --git a/src/builtin/PRED_$cut_1.java b/src/builtin/PRED_$cut_1.java
index fe44bf8..2814ac8 100644
--- a/src/builtin/PRED_$cut_1.java
+++ b/src/builtin/PRED_$cut_1.java
@@ -13,6 +13,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
 	//        engine.setB0(); 
         Term a1;
diff --git a/src/builtin/PRED_$end_exception_1.java b/src/builtin/PRED_$end_exception_1.java
index 6e7385a..a42d2ff 100644
--- a/src/builtin/PRED_$end_exception_1.java
+++ b/src/builtin/PRED_$end_exception_1.java
@@ -14,6 +14,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1;
diff --git a/src/builtin/PRED_$erase_1.java b/src/builtin/PRED_$erase_1.java
index 427ea41..62548a9 100644
--- a/src/builtin/PRED_$erase_1.java
+++ b/src/builtin/PRED_$erase_1.java
@@ -13,6 +13,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1 = arg1;
diff --git a/src/builtin/PRED_$fast_write_2.java b/src/builtin/PRED_$fast_write_2.java
index d70ff3f..e826999 100644
--- a/src/builtin/PRED_$fast_write_2.java
+++ b/src/builtin/PRED_$fast_write_2.java
@@ -18,6 +18,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_$fast_writeq_2.java b/src/builtin/PRED_$fast_writeq_2.java
index be7deab..97fa0f4 100644
--- a/src/builtin/PRED_$fast_writeq_2.java
+++ b/src/builtin/PRED_$fast_writeq_2.java
@@ -18,6 +18,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_$get_current_B_1.java b/src/builtin/PRED_$get_current_B_1.java
index 7ee3bb6..b3cbc84 100644
--- a/src/builtin/PRED_$get_current_B_1.java
+++ b/src/builtin/PRED_$get_current_B_1.java
@@ -12,6 +12,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1;
diff --git a/src/builtin/PRED_$get_exception_1.java b/src/builtin/PRED_$get_exception_1.java
index 139ae12..5b8cc96 100644
--- a/src/builtin/PRED_$get_exception_1.java
+++ b/src/builtin/PRED_$get_exception_1.java
@@ -12,6 +12,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1;
diff --git a/src/builtin/PRED_$get_hash_manager_1.java b/src/builtin/PRED_$get_hash_manager_1.java
index 032859c..fca810d 100644
--- a/src/builtin/PRED_$get_hash_manager_1.java
+++ b/src/builtin/PRED_$get_hash_manager_1.java
@@ -13,6 +13,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1;
diff --git a/src/builtin/PRED_$get_instances_2.java b/src/builtin/PRED_$get_instances_2.java
index 6459148..707e8cd 100644
--- a/src/builtin/PRED_$get_instances_2.java
+++ b/src/builtin/PRED_$get_instances_2.java
@@ -18,6 +18,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_$get_level_1.java b/src/builtin/PRED_$get_level_1.java
index 55ad235..c42370f 100644
--- a/src/builtin/PRED_$get_level_1.java
+++ b/src/builtin/PRED_$get_level_1.java
@@ -12,6 +12,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
 	//        engine.setB0(); 
 	Term a1;
diff --git a/src/builtin/PRED_$get_prolog_impl_flag_2.java b/src/builtin/PRED_$get_prolog_impl_flag_2.java
index d53e7d9..2688b62 100644
--- a/src/builtin/PRED_$get_prolog_impl_flag_2.java
+++ b/src/builtin/PRED_$get_prolog_impl_flag_2.java
@@ -16,6 +16,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_$hash_adda_3.java b/src/builtin/PRED_$hash_adda_3.java
index 8fa9068..313fe70 100644
--- a/src/builtin/PRED_$hash_adda_3.java
+++ b/src/builtin/PRED_$hash_adda_3.java
@@ -21,6 +21,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2, a3;
diff --git a/src/builtin/PRED_$hash_addz_3.java b/src/builtin/PRED_$hash_addz_3.java
index 600deda..80e90ae 100644
--- a/src/builtin/PRED_$hash_addz_3.java
+++ b/src/builtin/PRED_$hash_addz_3.java
@@ -21,6 +21,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2, a3;
diff --git a/src/builtin/PRED_$hash_remove_first_3.java b/src/builtin/PRED_$hash_remove_first_3.java
index 7733ced..048bffe 100644
--- a/src/builtin/PRED_$hash_remove_first_3.java
+++ b/src/builtin/PRED_$hash_remove_first_3.java
@@ -21,6 +21,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2, a3;
diff --git a/src/builtin/PRED_$insert_2.java b/src/builtin/PRED_$insert_2.java
index 25d9525..e2df8dc 100644
--- a/src/builtin/PRED_$insert_2.java
+++ b/src/builtin/PRED_$insert_2.java
@@ -14,6 +14,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_$neck_cut_0.java b/src/builtin/PRED_$neck_cut_0.java
index 0049a92..c6618e3 100644
--- a/src/builtin/PRED_$neck_cut_0.java
+++ b/src/builtin/PRED_$neck_cut_0.java
@@ -12,6 +12,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
 	//        engine.setB0(); 
         engine.neckCut();
diff --git a/src/builtin/PRED_$read_token0_3.java b/src/builtin/PRED_$read_token0_3.java
index 68ac170..1369a3d 100644
--- a/src/builtin/PRED_$read_token0_3.java
+++ b/src/builtin/PRED_$read_token0_3.java
@@ -23,6 +23,7 @@
 
     /* The a1 must be user, user_input, and 
        java.io.PushbackReader, otherwise fails. */
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2, a3;
diff --git a/src/builtin/PRED_$set_exception_1.java b/src/builtin/PRED_$set_exception_1.java
index bb8d33e..d95e8b6 100644
--- a/src/builtin/PRED_$set_exception_1.java
+++ b/src/builtin/PRED_$set_exception_1.java
@@ -12,6 +12,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1;
diff --git a/src/builtin/PRED_$set_prolog_impl_flag_2.java b/src/builtin/PRED_$set_prolog_impl_flag_2.java
index 1bb354b..c0f981b 100644
--- a/src/builtin/PRED_$set_prolog_impl_flag_2.java
+++ b/src/builtin/PRED_$set_prolog_impl_flag_2.java
@@ -15,6 +15,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_$statistics_2.java b/src/builtin/PRED_$statistics_2.java
index 897ebf7..db91e3b 100644
--- a/src/builtin/PRED_$statistics_2.java
+++ b/src/builtin/PRED_$statistics_2.java
@@ -20,6 +20,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine){
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_$term_hash_2.java b/src/builtin/PRED_$term_hash_2.java
index c209375..5e46c41 100644
--- a/src/builtin/PRED_$term_hash_2.java
+++ b/src/builtin/PRED_$term_hash_2.java
@@ -13,6 +13,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_$univ_2.java b/src/builtin/PRED_$univ_2.java
index f6918cf..ca2a1e1 100644
--- a/src/builtin/PRED_$univ_2.java
+++ b/src/builtin/PRED_$univ_2.java
@@ -19,10 +19,12 @@
         this.cont = cont;
     }
 
+    @Override
     public String toString() {
         return "=..(" + arg1 + "," + arg2 + ")";
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_$write_toString_2.java b/src/builtin/PRED_$write_toString_2.java
index 7c0dc18..0cc1671 100644
--- a/src/builtin/PRED_$write_toString_2.java
+++ b/src/builtin/PRED_$write_toString_2.java
@@ -19,6 +19,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_arg_3.java b/src/builtin/PRED_arg_3.java
index 1e472bc..8dfc519 100644
--- a/src/builtin/PRED_arg_3.java
+++ b/src/builtin/PRED_arg_3.java
@@ -17,6 +17,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2, a3;
diff --git a/src/builtin/PRED_atom_chars_2.java b/src/builtin/PRED_atom_chars_2.java
index e971f40..721b4f2 100644
--- a/src/builtin/PRED_atom_chars_2.java
+++ b/src/builtin/PRED_atom_chars_2.java
@@ -15,6 +15,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_atom_codes_2.java b/src/builtin/PRED_atom_codes_2.java
index e369f99..0687bba 100644
--- a/src/builtin/PRED_atom_codes_2.java
+++ b/src/builtin/PRED_atom_codes_2.java
@@ -16,6 +16,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_atom_concat_3.java b/src/builtin/PRED_atom_concat_3.java
index 8879cb8..7d16ea4 100644
--- a/src/builtin/PRED_atom_concat_3.java
+++ b/src/builtin/PRED_atom_concat_3.java
@@ -18,6 +18,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2, a3;
diff --git a/src/builtin/PRED_atom_length_2.java b/src/builtin/PRED_atom_length_2.java
index 60f9924..c778504 100644
--- a/src/builtin/PRED_atom_length_2.java
+++ b/src/builtin/PRED_atom_length_2.java
@@ -16,6 +16,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_char_code_2.java b/src/builtin/PRED_char_code_2.java
index 677d3be..f04ef1b 100644
--- a/src/builtin/PRED_char_code_2.java
+++ b/src/builtin/PRED_char_code_2.java
@@ -16,6 +16,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_close_2.java b/src/builtin/PRED_close_2.java
index eef0418..9937fde 100644
--- a/src/builtin/PRED_close_2.java
+++ b/src/builtin/PRED_close_2.java
@@ -37,6 +37,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.requireFeature(Prolog.Feature.IO, this, arg1);
         engine.setB0();
diff --git a/src/builtin/PRED_current_engine_1.java b/src/builtin/PRED_current_engine_1.java
index 626a4aa..2bbdb38 100644
--- a/src/builtin/PRED_current_engine_1.java
+++ b/src/builtin/PRED_current_engine_1.java
@@ -12,6 +12,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1;
diff --git a/src/builtin/PRED_flush_output_1.java b/src/builtin/PRED_flush_output_1.java
index d248069..bbd5c26 100644
--- a/src/builtin/PRED_flush_output_1.java
+++ b/src/builtin/PRED_flush_output_1.java
@@ -17,6 +17,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1;
diff --git a/src/builtin/PRED_functor_3.java b/src/builtin/PRED_functor_3.java
index 0ec8ca0..4b99ff1 100644
--- a/src/builtin/PRED_functor_3.java
+++ b/src/builtin/PRED_functor_3.java
@@ -19,6 +19,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2, a3;
diff --git a/src/builtin/PRED_get_2.java b/src/builtin/PRED_get_2.java
index 2939324..57014b4 100644
--- a/src/builtin/PRED_get_2.java
+++ b/src/builtin/PRED_get_2.java
@@ -23,6 +23,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_get_char_2.java b/src/builtin/PRED_get_char_2.java
index 88bc3e1..8acd91b 100644
--- a/src/builtin/PRED_get_char_2.java
+++ b/src/builtin/PRED_get_char_2.java
@@ -31,6 +31,7 @@
 	return ((SymbolTerm)t).name().length() == 1;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_halt_1.java b/src/builtin/PRED_halt_1.java
index 827f1c3..88b1dad 100644
--- a/src/builtin/PRED_halt_1.java
+++ b/src/builtin/PRED_halt_1.java
@@ -14,6 +14,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1;
diff --git a/src/builtin/PRED_hash_clear_1.java b/src/builtin/PRED_hash_clear_1.java
index 09f815a..5fbe0fe 100644
--- a/src/builtin/PRED_hash_clear_1.java
+++ b/src/builtin/PRED_hash_clear_1.java
@@ -17,6 +17,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1;
diff --git a/src/builtin/PRED_hash_contains_key_2.java b/src/builtin/PRED_hash_contains_key_2.java
index 0bbe0c2..cdf7929 100644
--- a/src/builtin/PRED_hash_contains_key_2.java
+++ b/src/builtin/PRED_hash_contains_key_2.java
@@ -18,6 +18,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_hash_get_3.java b/src/builtin/PRED_hash_get_3.java
index 6830e28..f530e2c 100644
--- a/src/builtin/PRED_hash_get_3.java
+++ b/src/builtin/PRED_hash_get_3.java
@@ -19,6 +19,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2, a3;
diff --git a/src/builtin/PRED_hash_is_empty_1.java b/src/builtin/PRED_hash_is_empty_1.java
index 2075963..772edbc 100644
--- a/src/builtin/PRED_hash_is_empty_1.java
+++ b/src/builtin/PRED_hash_is_empty_1.java
@@ -17,6 +17,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1;
diff --git a/src/builtin/PRED_hash_keys_2.java b/src/builtin/PRED_hash_keys_2.java
index dc0a73b..3275efc 100644
--- a/src/builtin/PRED_hash_keys_2.java
+++ b/src/builtin/PRED_hash_keys_2.java
@@ -19,6 +19,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_hash_put_3.java b/src/builtin/PRED_hash_put_3.java
index f5377e8..f8ab3b8 100644
--- a/src/builtin/PRED_hash_put_3.java
+++ b/src/builtin/PRED_hash_put_3.java
@@ -19,6 +19,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2, a3;
diff --git a/src/builtin/PRED_hash_remove_2.java b/src/builtin/PRED_hash_remove_2.java
index 8bb7284..0f85f6a 100644
--- a/src/builtin/PRED_hash_remove_2.java
+++ b/src/builtin/PRED_hash_remove_2.java
@@ -18,6 +18,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_hash_size_2.java b/src/builtin/PRED_hash_size_2.java
index ed1623a..10408f5 100644
--- a/src/builtin/PRED_hash_size_2.java
+++ b/src/builtin/PRED_hash_size_2.java
@@ -19,6 +19,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_keysort_2.java b/src/builtin/PRED_keysort_2.java
index 6ff42f5..6c5fa46 100644
--- a/src/builtin/PRED_keysort_2.java
+++ b/src/builtin/PRED_keysort_2.java
@@ -20,6 +20,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
@@ -74,6 +75,7 @@
 }
 
 class KeySortComparator implements java.util.Comparator<Term> {
+    @Override
     public int compare(Term t1, Term t2) {
 	Term arg1 = ((StructureTerm)t1).args()[0].dereference();
 	Term arg2 = ((StructureTerm)t2).args()[0].dereference();
diff --git a/src/builtin/PRED_new_hash_2.java b/src/builtin/PRED_new_hash_2.java
index 9ac2923..6d0ef05 100644
--- a/src/builtin/PRED_new_hash_2.java
+++ b/src/builtin/PRED_new_hash_2.java
@@ -19,6 +19,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_number_chars_2.java b/src/builtin/PRED_number_chars_2.java
index 14526c7..6b54c5c 100644
--- a/src/builtin/PRED_number_chars_2.java
+++ b/src/builtin/PRED_number_chars_2.java
@@ -16,6 +16,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_number_codes_2.java b/src/builtin/PRED_number_codes_2.java
index b87173c..f93be07 100644
--- a/src/builtin/PRED_number_codes_2.java
+++ b/src/builtin/PRED_number_codes_2.java
@@ -17,6 +17,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_open_4.java b/src/builtin/PRED_open_4.java
index d502060..17a9cc4 100644
--- a/src/builtin/PRED_open_4.java
+++ b/src/builtin/PRED_open_4.java
@@ -33,6 +33,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.requireFeature(Prolog.Feature.IO, this, arg1);
         engine.setB0();
diff --git a/src/builtin/PRED_put_char_2.java b/src/builtin/PRED_put_char_2.java
index 6c4dba3..582310d 100644
--- a/src/builtin/PRED_put_char_2.java
+++ b/src/builtin/PRED_put_char_2.java
@@ -20,6 +20,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_put_code_2.java b/src/builtin/PRED_put_code_2.java
index 2de0a59..b39103b 100644
--- a/src/builtin/PRED_put_code_2.java
+++ b/src/builtin/PRED_put_code_2.java
@@ -20,6 +20,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_raise_exception_1.java b/src/builtin/PRED_raise_exception_1.java
index 54bca01..fb88008 100644
--- a/src/builtin/PRED_raise_exception_1.java
+++ b/src/builtin/PRED_raise_exception_1.java
@@ -14,6 +14,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1;
diff --git a/src/builtin/PRED_read_line_2.java b/src/builtin/PRED_read_line_2.java
index 5d53724..c32d8c5 100644
--- a/src/builtin/PRED_read_line_2.java
+++ b/src/builtin/PRED_read_line_2.java
@@ -20,6 +20,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/builtin/PRED_regex_compile_2.java b/src/builtin/PRED_regex_compile_2.java
index 147e5e5..3e48d0a 100644
--- a/src/builtin/PRED_regex_compile_2.java
+++ b/src/builtin/PRED_regex_compile_2.java
@@ -27,6 +27,7 @@
         this.cont = cont;
   }
 
+  @Override
   public Operation exec(Prolog engine) {
       engine.setB0();
       Term a1 = arg1.dereference();
diff --git a/src/builtin/PRED_regex_match_3.java b/src/builtin/PRED_regex_match_3.java
index cf5fcd2..f23b048 100644
--- a/src/builtin/PRED_regex_match_3.java
+++ b/src/builtin/PRED_regex_match_3.java
@@ -33,6 +33,7 @@
         this.cont = cont;
   }
 
+  @Override
   public Operation exec(Prolog engine) {
       engine.setB0();
       engine.cont = cont;
diff --git a/src/builtin/PRED_sort_2.java b/src/builtin/PRED_sort_2.java
index be71d37..0ae7b79 100644
--- a/src/builtin/PRED_sort_2.java
+++ b/src/builtin/PRED_sort_2.java
@@ -17,6 +17,7 @@
 	this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
 	Term a1, a2;
diff --git a/src/builtin/PRED_tab_2.java b/src/builtin/PRED_tab_2.java
index f92c6df..bbe01fb 100644
--- a/src/builtin/PRED_tab_2.java
+++ b/src/builtin/PRED_tab_2.java
@@ -19,6 +19,7 @@
         this.cont = cont;
     }
 
+    @Override
     public Operation exec(Prolog engine) {
         engine.setB0();
         Term a1, a2;
diff --git a/src/exceptions/BuiltinException.java b/src/exceptions/BuiltinException.java
index e025454..c31106e 100644
--- a/src/exceptions/BuiltinException.java
+++ b/src/exceptions/BuiltinException.java
@@ -28,6 +28,7 @@
 	message = _message;
     }
 
+    @Override
     public Term getMessageTerm() {
 	return message;
     }
diff --git a/src/exceptions/EvaluationException.java b/src/exceptions/EvaluationException.java
index 72a07fb..be37db0 100644
--- a/src/exceptions/EvaluationException.java
+++ b/src/exceptions/EvaluationException.java
@@ -40,6 +40,7 @@
     /** Returns a term representation of this <code>EvaluationException</code>:
      * <code>evaluation_error(goal,argNo,errorType)</code>.
      */
+    @Override
     public Term getMessageTerm() {
 	Term[] args = {
 	    new JavaObjectTerm(goal), 
@@ -49,6 +50,7 @@
     }
 
     /** Returns a string representation of this <code>EvaluationException</code>. */
+    @Override
     public String toString() {
 	String s = "{EVALUATION ERROR: " + goal.toString();
 	if (argNo > 0)
diff --git a/src/exceptions/ExistenceException.java b/src/exceptions/ExistenceException.java
index 4c1b843..c9e21c9 100644
--- a/src/exceptions/ExistenceException.java
+++ b/src/exceptions/ExistenceException.java
@@ -51,6 +51,7 @@
     /** Returns a term representation of this <code>ExistenceException</code>:
      * <code>existence_error(goal,argNo,objType,culprit,message)</code>.
      */
+    @Override
     public Term getMessageTerm() {
 	Term[] args = {
 	    new JavaObjectTerm(goal), 
@@ -62,6 +63,7 @@
     }
 
     /** Returns a string representation of this <code>ExistenceException</code>. */
+    @Override
     public String toString() {
 	String s = "{EXISTENCE ERROR:";
 	if (argNo > 0)
diff --git a/src/exceptions/IllegalDomainException.java b/src/exceptions/IllegalDomainException.java
index c0d72f6..7eb45b1 100644
--- a/src/exceptions/IllegalDomainException.java
+++ b/src/exceptions/IllegalDomainException.java
@@ -54,6 +54,7 @@
     /** Returns a term representation of this <code>IllegalDomainException</code>:
      * <code>domain_error(goal,argNo,type,culprit)</code>.
      */
+    @Override
     public Term getMessageTerm() {
 	Term[] args = {
 	    new JavaObjectTerm(goal), 
@@ -64,6 +65,7 @@
     }
 
     /** Returns a string representation of this <code>IllegalDomainException</code>. */
+    @Override
     public String toString() {
 	String s = "{DOMAIN ERROR: " + goal.toString();
 	if (argNo > 0)
diff --git a/src/exceptions/IllegalTypeException.java b/src/exceptions/IllegalTypeException.java
index 3ecfe93..61a9b7f 100644
--- a/src/exceptions/IllegalTypeException.java
+++ b/src/exceptions/IllegalTypeException.java
@@ -51,6 +51,7 @@
     /** Returns a term representation of this <code>IllegalTypeException</code>:
      * <code>type_error(goal,argNo,type,culprit)</code>.
      */
+    @Override
     public Term getMessageTerm() {
 	Term[] args = {
 	    new JavaObjectTerm(goal), 
@@ -61,6 +62,7 @@
     }
 
     /** Returns a string representation of this <code>IllegalTypeException</code>. */
+    @Override
     public String toString() {
 	String s = "{TYPE ERROR: " + goal.toString();
 	if (argNo > 0)
diff --git a/src/exceptions/InternalException.java b/src/exceptions/InternalException.java
index 9ce9495..5ad2fe9 100644
--- a/src/exceptions/InternalException.java
+++ b/src/exceptions/InternalException.java
@@ -26,12 +26,14 @@
     /** Returns a term representation of this <code>InternalException</code>:
      * <code>internal_error(message)</code>.
      */
+    @Override
     public Term getMessageTerm() {
 	Term[] args = {SymbolTerm.create(message)};
 	return new StructureTerm(INTERNAL_ERROR, args);
     }
 
     /** Returns a string representation of this <code>InternalException</code>. */
+    @Override
     public String toString() {
 	String s = "{INTERNAL ERROR: " + message;
 	s += "}";
diff --git a/src/exceptions/JavaException.java b/src/exceptions/JavaException.java
index 6d0b347..7e9d61c 100644
--- a/src/exceptions/JavaException.java
+++ b/src/exceptions/JavaException.java
@@ -39,6 +39,7 @@
     /** Returns a term representation of this <code>JavaException</code>:
      * <code>java_error(goal,argNo,exception)</code>.
      */
+    @Override
     public Term getMessageTerm() {
 	Term[] args = {
 	    new JavaObjectTerm(goal), 
@@ -53,6 +54,7 @@
     }
 
     /** Returns a string representation of this <code>JavaException</code>. */
+    @Override
     public String toString() {
 	String s = "{JAVA ERROR: " + goal.toString();
 	if (argNo > 0)
diff --git a/src/exceptions/PInstantiationException.java b/src/exceptions/PInstantiationException.java
index e190520..fab73e7 100644
--- a/src/exceptions/PInstantiationException.java
+++ b/src/exceptions/PInstantiationException.java
@@ -34,12 +34,14 @@
     /** Returns a term representation of this <code>PInstantiationException</code>:
      * <code>instantiation_error(goal,argNo)</code>.
      */
+    @Override
     public Term getMessageTerm() {
 	Term[] args = {new JavaObjectTerm(goal), new IntegerTerm(argNo)};
 	return new StructureTerm(INSTANTIATION_ERROR, args);
     }
 
     /** Returns a string representation of this <code>PInstantiationException</code>. */
+    @Override
     public String toString() {
 	String s = "{INSTANTIATION ERROR: " + goal.toString();
 	if (argNo > 0)
diff --git a/src/exceptions/PermissionException.java b/src/exceptions/PermissionException.java
index e7ad609..b4a029d 100644
--- a/src/exceptions/PermissionException.java
+++ b/src/exceptions/PermissionException.java
@@ -54,6 +54,7 @@
     /** Returns a term representation of this <code>PermissionException</code>:
      * <code>permission_error(goal,argNo,operation,permissionType,culprit,message)</code>.
      */
+    @Override
     public Term getMessageTerm() {
 	Term[] args = {
 	    new JavaObjectTerm(goal), 
@@ -65,6 +66,7 @@
     }
 
     /** Returns a string representation of this <code>PermissionException</code>. */
+    @Override
     public String toString() {
 	String s = "{PERMISSION ERROR: " + goal.toString();
 	s += " - can not " + operation + " " + permissionType + " " + culprit.toString();
diff --git a/src/exceptions/RepresentationException.java b/src/exceptions/RepresentationException.java
index 320f277..50f73a3 100644
--- a/src/exceptions/RepresentationException.java
+++ b/src/exceptions/RepresentationException.java
@@ -42,6 +42,7 @@
     /** Returns a term representation of this <code>RepresentationException</code>:
      * <code>representation_error(goal,argNo,flag)</code>.
      */
+    @Override
     public Term getMessageTerm() {
 	Term[] args = {
 	    new JavaObjectTerm(goal), 
@@ -51,6 +52,7 @@
     }
 
     /** Returns a string representation of this <code>RepresentationException</code>. */
+    @Override
     public String toString() {
 	String s = "{REPRESENTATION ERROR: " + goal.toString();
 	if (argNo > 0)
diff --git a/src/exceptions/SyntaxException.java b/src/exceptions/SyntaxException.java
index 8912f34..161869d 100644
--- a/src/exceptions/SyntaxException.java
+++ b/src/exceptions/SyntaxException.java
@@ -49,6 +49,7 @@
     /** Returns a term representation of this <code>SyntaxException</code>:
      * <code>syntax_error(goal,argNo,type,culprit,message)</code>.
      */
+    @Override
     public Term getMessageTerm() {
 	Term[] args = {
 	    new JavaObjectTerm(goal), 
@@ -60,6 +61,7 @@
     }
 
     /** Returns a string representation of this <code>SyntaxException</code>. */
+    @Override
     public String toString() {
 	String s = "{SYNTAX ERROR: " + goal.toString();
 	if (argNo > 0)
diff --git a/src/exceptions/SystemException.java b/src/exceptions/SystemException.java
index 4689a86..44507b3 100644
--- a/src/exceptions/SystemException.java
+++ b/src/exceptions/SystemException.java
@@ -26,12 +26,14 @@
     /** Returns a term representation of this <code>SystemException</code>:
      * <code>system_error(message)</code>.
      */
+    @Override
     public Term getMessageTerm() {
 	Term[] args = {SymbolTerm.create(message)};
 	return new StructureTerm(SYSTEM_ERROR, args);
     }
 
     /** Returns a string representation of this <code>SystemException</code>. */
+    @Override
     public String toString() {
 	String s = "{SYSTEM ERROR: " + message;
 	s += "}";
diff --git a/src/exceptions/TermException.java b/src/exceptions/TermException.java
index b95d4e2..634f36b 100644
--- a/src/exceptions/TermException.java
+++ b/src/exceptions/TermException.java
@@ -25,6 +25,7 @@
 	message = _message;
     }
 
+    @Override
     public Term getMessageTerm() {
 	return message;
     }
diff --git a/src/lang/ChoicePointFrame.java b/src/lang/ChoicePointFrame.java
index e7b6b5c..69cef32 100644
--- a/src/lang/ChoicePointFrame.java
+++ b/src/lang/ChoicePointFrame.java
@@ -20,6 +20,7 @@
       engine.cont = this.cont;
     }
 
+    @Override
     public String toString() {
       String t = " time:" + timeStamp + "\n" ;
       t = t + " cont:" + cont + "\n";
@@ -36,6 +37,7 @@
         this.r1 = engine.r1;
       }
 
+      @Override
       void restore(Prolog engine) {
         engine.cont = this.cont;
         engine.r1 = this.r1;
@@ -50,6 +52,7 @@
         this.r2 = engine.r2;
       }
 
+      @Override
       void restore(Prolog engine) {
         engine.cont = this.cont;
         engine.r1 = this.r1;
@@ -66,6 +69,7 @@
         this.r3 = engine.r3;
       }
 
+      @Override
       void restore(Prolog engine) {
         engine.cont = this.cont;
         engine.r1 = this.r1;
@@ -84,6 +88,7 @@
         this.r4 = engine.r4;
       }
 
+      @Override
       void restore(Prolog engine) {
         engine.cont = this.cont;
         engine.r1 = this.r1;
@@ -104,6 +109,7 @@
         this.r5 = engine.r5;
       }
 
+      @Override
       void restore(Prolog engine) {
         engine.cont = this.cont;
         engine.r1 = this.r1;
@@ -126,6 +132,7 @@
         this.r6 = engine.r6;
       }
 
+      @Override
       void restore(Prolog engine) {
         engine.cont = this.cont;
         engine.r1 = this.r1;
@@ -150,6 +157,7 @@
         this.r7 = engine.r7;
       }
 
+      @Override
       void restore(Prolog engine) {
         engine.cont = this.cont;
         engine.r1 = this.r1;
@@ -176,6 +184,7 @@
         this.r8 = engine.r8;
       }
 
+      @Override
       void restore(Prolog engine) {
         engine.cont = this.cont;
         engine.r1 = this.r1;
@@ -204,6 +213,7 @@
         this.r9 = engine.r9;
       }
 
+      @Override
       void restore(Prolog engine) {
         engine.cont = this.cont;
         engine.r1 = this.r1;
@@ -234,6 +244,7 @@
         this.r10 = engine.r10;
       }
 
+      @Override
       void restore(Prolog engine) {
         engine.cont = this.cont;
         engine.r1 = this.r1;
diff --git a/src/lang/ClosureTerm.java b/src/lang/ClosureTerm.java
index 053035c..b3c4acd 100644
--- a/src/lang/ClosureTerm.java
+++ b/src/lang/ClosureTerm.java
@@ -23,6 +23,7 @@
       return TYPE_CLOSURE;
     }
 
+    @Override
     public boolean unify(Term t, Trail trail) {
 	//	t = t.dereference();
 	if (t instanceof VariableTerm)
@@ -32,8 +33,10 @@
 	return code.equals(((ClosureTerm)t).code);
     }
 
+    @Override
     public String toQuotedString() { return toString(); }
 
+    @Override
     public String name() { return ""; }
 
     /* Object */
@@ -47,17 +50,20 @@
      * equivalent to this <code>ClosureTerm</code>, false otherwise.
      * @see #compareTo
      */
+    @Override
     public boolean equals(Object obj) { // obj must be dereferenced
 	if (! (obj instanceof ClosureTerm))
 	    return false;
 	return code.equals(((ClosureTerm)obj).code);
     }
 
+    @Override
     public int hashCode() {
 	return code.hashCode();
     }
 
     /** Returns a string representation of this <code>ClosureTerm</code>. */
+    @Override
     public String toString() {
 	return "closure[" + code.toString() + "]";
     }
@@ -72,6 +78,7 @@
      * a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
      * and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
      */
+    @Override
     public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced
 	if (! (anotherTerm instanceof ClosureTerm))
 	    return AFTER;
diff --git a/src/lang/DoubleTerm.java b/src/lang/DoubleTerm.java
index dbb80f7..479cf41 100644
--- a/src/lang/DoubleTerm.java
+++ b/src/lang/DoubleTerm.java
@@ -38,6 +38,7 @@
       return TYPE_DOUBLE;
     }
 
+    @Override
     public boolean unify(Term t, Trail trail) {
 	if (t instanceof VariableTerm)
 	    return ((VariableTerm)t).unify(this, trail);
@@ -46,6 +47,7 @@
 	return this.val == ((DoubleTerm)t).value();
     }
 
+    @Override
     public String name() { return ""; }
 
     /** 
@@ -53,6 +55,7 @@
      * <code>convertible(Double.class, type)</code>.
      * @see Term#convertible(Class, Class)
      */
+    @Override
     public boolean convertible(Class type) { return convertible(Double.class, type); }
 
     /** 
@@ -61,10 +64,12 @@
      * @return a <code>java.lang.Double</code> object equivalent to
      * this <code>DoubleTerm</code>.
      */
+    @Override
     public Object toJava() { return Double.valueOf(val); }
 
     /* Object */
     /** Returns a string representation of this <code>DoubleTerm</code>. */
+    @Override
     public String toString() { return Double.toString(this.val); }
 
     /**
@@ -76,12 +81,14 @@
      * point number equivalent to this <code>DoubleTerm</code>, false otherwise.
      * @see #compareTo
     */
+    @Override
     public boolean equals(Object obj) {
 	if (! (obj instanceof DoubleTerm))
 	    return false;
 	return Double.doubleToLongBits(this.val) == Double.doubleToLongBits(((DoubleTerm)obj).val);
     }
 
+    @Override
     public int hashCode() {
 	long bits = Double.doubleToLongBits(this.val);
 	return (int)(bits ^ (bits >>> 32));
@@ -97,6 +104,7 @@
      * a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
      * and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
      */
+    @Override
     public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced
 	if (anotherTerm instanceof VariableTerm)
 	    return AFTER;
@@ -106,94 +114,119 @@
     }
 
     /* NumberTerm */
+    @Override
     public int intValue() { return (int)val; }
 
+    @Override
     public long longValue() { return (long)val; }
 
+    @Override
     public double doubleValue() { return val; }
 
+    @Override
     public int arithCompareTo(NumberTerm t) {
 	return Double.compare(this.val, t.doubleValue());
     }
 
+    @Override
     public NumberTerm abs() { return new DoubleTerm(Math.abs(this.val)); }
 
+    @Override
     public NumberTerm acos() { return new DoubleTerm(Math.acos(this.val)); }
 
+    @Override
     public NumberTerm add(NumberTerm t) { return new DoubleTerm(this.val + t.doubleValue()); }
 
     /** 
      * Throws a <code>type_error</code>.
      * @exception IllegalTypeException
      */
+    @Override
     public NumberTerm and(NumberTerm t) { throw new IllegalTypeException("integer", this); }
     //    public NumberTerm and(NumberTerm t) { return new IntegerTerm(this.intValue() & t.intValue()); }
 
+    @Override
     public NumberTerm asin() { return new DoubleTerm(Math.asin(this.val)); }
 
+    @Override
     public NumberTerm atan() { return new DoubleTerm(Math.atan(this.val)); }
 
+    @Override
     public NumberTerm ceil() { return new IntegerTerm((int) Math.ceil(this.val)); }
 
+    @Override
     public NumberTerm cos() { return new DoubleTerm(Math.cos(this.val)); }
 
     /** 
      * @exception EvaluationException if the given argument
      * <code>NumberTerm</code> represents <coe>0</code>.
      */
+    @Override
     public NumberTerm divide(NumberTerm t) { 
 	if (t.doubleValue() == 0)
 	    throw new EvaluationException("zero_divisor");
 	return new DoubleTerm(this.val / t.doubleValue());
     }
 
+    @Override
     public NumberTerm exp() { return new DoubleTerm(Math.exp(this.val)); }
 
+    @Override
     public NumberTerm floatIntPart() { 
 	return new DoubleTerm(Math.signum(this.val) * Math.floor(Math.abs(this.val)));
     }
 
+    @Override
     public NumberTerm floatFractPart() { 
 	return new DoubleTerm(this.val - Math.signum(this.val) * Math.floor(Math.abs(this.val)));
     }
 
+    @Override
     public NumberTerm floor() { return new IntegerTerm((int) Math.floor(this.val)); }
 
     /** 
      * Throws a <code>type_error</code>.
      * @exception IllegalTypeException
      */
+    @Override
     public NumberTerm intDivide(NumberTerm t) { throw new IllegalTypeException("integer", this); }
     //    public NumberTerm intDivide(NumberTerm t) {	return new IntegerTerm((int)(this.intValue() / t.intValue())); }
 
     /** 
      * @exception EvaluationException if this object represents <coe>0</code>.
      */
+    @Override
     public NumberTerm log() { 
 	if (this.val == 0)
 	    throw new EvaluationException("undefined");
 	return new DoubleTerm(Math.log(this.val)); 
     }
 
+    @Override
     public NumberTerm max(NumberTerm t) { return new DoubleTerm(Math.max(this.val, t.doubleValue())); }
 
+    @Override
     public NumberTerm min(NumberTerm t) { return new DoubleTerm(Math.min(this.val, t.doubleValue())); }
 
     /** 
      * Throws a <code>type_error</code>.
      * @exception IllegalTypeException
      */
+    @Override
     public NumberTerm mod(NumberTerm t) { throw new IllegalTypeException("integer", this); }
     //    public NumberTerm mod(NumberTerm t) { return new IntegerTerm(this.intValue() % t.intValue()); }
 
+    @Override
     public NumberTerm multiply(NumberTerm t) { return new DoubleTerm(this.val * t.doubleValue()); }
 
+    @Override
     public NumberTerm negate() { return new DoubleTerm(- this.val); }
 
     /** 
      * Throws a <code>type_error</code>.
      * @exception IllegalTypeException
      */
+    @Override
     public NumberTerm not() { throw new IllegalTypeException("integer", this); }
     //    public NumberTerm not() { return new IntegerTerm(~ this.intValue()); }
 
@@ -201,51 +234,66 @@
      * Throws a <code>type_error</code>.
      * @exception IllegalTypeException
      */
+    @Override
     public NumberTerm or(NumberTerm t) { throw new IllegalTypeException("integer", this); }
     //    public NumberTerm or(NumberTerm t) { return new IntegerTerm(this.intValue() | t.intValue()); }
 
+    @Override
     public NumberTerm pow(NumberTerm t) { return new DoubleTerm(Math.pow(this.val, t.doubleValue())); }
 
+    @Override
     public NumberTerm rint() { return new DoubleTerm(Math.rint(this.val)); }
 
+    @Override
     public NumberTerm round() { return new IntegerTerm((int) Math.round(this.val)); }
 
     /** 
      * Throws a <code>type_error</code>.
      * @exception IllegalTypeException
      */
+    @Override
     public NumberTerm shiftLeft(NumberTerm t) { throw new IllegalTypeException("integer", this); }
 
     /** 
      * Throws a <code>type_error</code>.
      * @exception IllegalTypeException
      */
+    @Override
     public NumberTerm shiftRight(NumberTerm t) { throw new IllegalTypeException("integer", this); }
 
+    @Override
     public NumberTerm signum() {return new DoubleTerm(Math.signum(this.val)); }
  
+    @Override
     public NumberTerm sin() { return new DoubleTerm(Math.sin(this.val)); }
 
     /** 
      * @exception EvaluationException if this object represents
      * a floating point number less than <coe>0</code>.
      */
+    @Override
     public NumberTerm sqrt() { 
 	if (this.val < 0)
 	    throw new EvaluationException("undefined");
 	return new DoubleTerm(Math.sqrt(this.val)); 
     }
 
+    @Override
     public NumberTerm subtract(NumberTerm t) { return new DoubleTerm(this.val - t.doubleValue()); }
 
+    @Override
     public NumberTerm tan() { return new DoubleTerm(Math.tan(this.val)); }
 
+    @Override
     public NumberTerm toDegrees() { return new DoubleTerm(Math.toDegrees(this.val)); }
 
+    @Override
     public NumberTerm toFloat() { return this; }
 
+    @Override
     public NumberTerm toRadians() { return new DoubleTerm(Math.toRadians(this.val)); }
 
+    @Override
     public NumberTerm truncate() { 
 	if (this.val >= 0)
 	    return new IntegerTerm((int) Math.floor(this.val));
@@ -257,5 +305,6 @@
      * Throws a <code>type_error</code>.
      * @exception IllegalTypeException
      */
+    @Override
     public NumberTerm xor(NumberTerm t) { throw new IllegalTypeException("integer", this); }
 }
diff --git a/src/lang/Failure.java b/src/lang/Failure.java
index 7b109a0..ddd4823 100644
--- a/src/lang/Failure.java
+++ b/src/lang/Failure.java
@@ -13,6 +13,7 @@
     public static final Failure FAILURE = new Failure();
     private Failure() {}
 
+    @Override
     public Operation exec(Prolog engine) {
 	engine.control.fail();
 	engine.halt = 1; // halt(0)
@@ -20,6 +21,7 @@
     }
 
     /** Returns a string representation of this <code>Failure</code>. */
+    @Override
     public String toString(){ return "Failure"; }
 
     public static final Operation fail_0 = new PRED_fail_0();
diff --git a/src/lang/IntegerTerm.java b/src/lang/IntegerTerm.java
index d9e1596..3684377 100644
--- a/src/lang/IntegerTerm.java
+++ b/src/lang/IntegerTerm.java
@@ -35,6 +35,7 @@
     }
 
     /* Term */
+    @Override
     public boolean unify(Term t, Trail trail) {
 	if (t instanceof VariableTerm)
 	    return ((VariableTerm)t).unify(this, trail);
@@ -49,8 +50,10 @@
      * <code>convertible(Integer.class, type)</code>.
      * @see Term#convertible(Class, Class)
      */
+    @Override
     public boolean convertible(Class type) { return convertible(Integer.class, type); }
 
+    @Override
     public String name() { return ""; }
 
     /** 
@@ -59,10 +62,12 @@
      * @return a <code>java.lang.Integer</code> object equivalent to
      * this <code>IntegerTerm</code>.
      */
+    @Override
     public Object toJava() { return Integer.valueOf(val); }
 
     /* Object */
     /** Returns a string representation of this <code>IntegerTerm</code>. */
+    @Override
     public String toString() { return Integer.toString(this.val); }
 
     /**
@@ -74,12 +79,14 @@
      * equivalent to this <code>IntegerTerm</code>, false otherwise.
      * @see #compareTo
     */
+    @Override
     public boolean equals(Object obj) {
 	if (! (obj instanceof IntegerTerm))
 	    return false;
 	return this.val == ((IntegerTerm)obj).value();
     }
 
+    @Override
     public int hashCode() { return this.val; }
 
     /* Comparable */
@@ -92,6 +99,7 @@
      * a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
      * and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
      */
+    @Override
     public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
 	if (anotherTerm instanceof VariableTerm || anotherTerm instanceof DoubleTerm)
 	    return AFTER;
@@ -106,12 +114,16 @@
     }
 
     /* NumberTerm */
+    @Override
     public int intValue() { return this.val; }
 
+    @Override
     public long longValue() { return (long)(this.val); }
 
+    @Override
     public double doubleValue() { return (double)(this.val); }
 
+    @Override
     public int arithCompareTo(NumberTerm t) {
 	if (t instanceof DoubleTerm)
 	    return - (t.arithCompareTo(this));
@@ -123,10 +135,13 @@
 	return BEFORE;
     }
 
+    @Override
     public NumberTerm abs() { return new IntegerTerm(Math.abs(this.val)); }
 
+    @Override
     public NumberTerm acos() { return new DoubleTerm(Math.acos(this.doubleValue())); }
 
+    @Override
     public NumberTerm add(NumberTerm t) {
 	if (t instanceof DoubleTerm)
 	    return t.add(this);
@@ -137,36 +152,46 @@
      * @exception IllegalTypeException if the given argument
      * <code>NumberTerm</code> is a floating point number.
      */
+    @Override
     public NumberTerm and(NumberTerm t) {
 	if (t instanceof DoubleTerm)
 	    throw new IllegalTypeException("integer", t);
 	return new IntegerTerm(this.val & t.intValue());
     }
 
+    @Override
     public NumberTerm asin() { return new DoubleTerm(Math.asin(this.doubleValue())); }
 
+    @Override
     public NumberTerm atan() { return new DoubleTerm(Math.atan(this.doubleValue())); }
 
+    @Override
     public NumberTerm ceil() { return this; }
 
+    @Override
     public NumberTerm cos() { return new DoubleTerm(Math.cos(this.doubleValue())); }
 
     /** 
      * @exception EvaluationException if the given argument
      * <code>NumberTerm</code> represents <coe>0</code>.
      */
+    @Override
     public NumberTerm divide(NumberTerm t) { 
 	if (t.doubleValue() == 0)
 	    throw new EvaluationException("zero_divisor");
 	return new DoubleTerm(this.doubleValue() / t.doubleValue()); 
     }
 
+    @Override
     public NumberTerm exp() { return new DoubleTerm(Math.exp(this.doubleValue())); }
 
+    @Override
     public NumberTerm floatIntPart() { throw new IllegalTypeException("float", this); }
 
+    @Override
     public NumberTerm floatFractPart() { throw new IllegalTypeException("float", this); }
 
+    @Override
     public NumberTerm floor() { return this; }
 
     /** 
@@ -175,6 +200,7 @@
      * @exception EvaluationException if the given argument
      * <code>NumberTerm</code> represents <coe>0</code>.
      */
+    @Override
     public NumberTerm intDivide(NumberTerm t) {
 	if (t instanceof DoubleTerm)
 	    throw new IllegalTypeException("integer", t);
@@ -186,18 +212,21 @@
     /** 
      * @exception EvaluationException if this object represents <coe>0</code>.
      */
+    @Override
     public NumberTerm log() { 
 	if (this.val == 0)
 	    throw new EvaluationException("undefined");
 	return new DoubleTerm(Math.log(this.doubleValue())); 
     }
 
+    @Override
     public NumberTerm max(NumberTerm t) {
 	if (t instanceof DoubleTerm) 
 	    return t.max(this);
 	return new IntegerTerm(Math.max(this.val, t.intValue()));
     }
 
+    @Override
     public NumberTerm min(NumberTerm t) {
 	if (t instanceof DoubleTerm) 
 	    return t.min(this);
@@ -210,6 +239,7 @@
      * @exception EvaluationException if the given argument
      * <code>NumberTerm</code> represents <coe>0</code>.
      */
+    @Override
     public NumberTerm mod(NumberTerm t) {
 	if (t instanceof DoubleTerm)
 	    throw new IllegalTypeException("integer", t);
@@ -218,36 +248,44 @@
 	return new IntegerTerm(this.val % t.intValue());
     }
 
+    @Override
     public NumberTerm multiply(NumberTerm t) {
 	if (t instanceof DoubleTerm)
 	    return t.multiply(this);
 	return new IntegerTerm(this.val * t.intValue());
     }
 
+    @Override
     public NumberTerm negate() { return new IntegerTerm(- this.val); }
 
+    @Override
     public NumberTerm not() { return new IntegerTerm(~ this.val); }
 
     /** 
      * @exception IllegalTypeException if the given argument
      * <code>NumberTerm</code> is a floating point number.
      */
+    @Override
     public NumberTerm or(NumberTerm t) {
 	if (t instanceof DoubleTerm)
 	    throw new IllegalTypeException("integer", t);
 	return new IntegerTerm(this.val | t.intValue());
     }
 
+    @Override
     public NumberTerm pow(NumberTerm t) { return new DoubleTerm(Math.pow(this.doubleValue(), t.doubleValue())); }
 
+    @Override
     public NumberTerm rint() { return new DoubleTerm(this.doubleValue()); }
 
+    @Override
     public NumberTerm round() { return this; }
 
     /** 
      * @exception IllegalTypeException if the given argument
      * <code>NumberTerm</code> is a floating point number.
      */
+    @Override
     public NumberTerm shiftLeft(NumberTerm t) {
 	if (t instanceof DoubleTerm)
 	    throw new IllegalTypeException("integer", t);
@@ -258,46 +296,57 @@
      * @exception IllegalTypeException if the given argument
      * <code>NumberTerm</code> is a floating point number.
      */
+    @Override
     public NumberTerm shiftRight(NumberTerm t) {
 	if (t instanceof DoubleTerm)
 	    throw new IllegalTypeException("integer", t);
 	return new IntegerTerm(this.val >> t.intValue());
     }
 
+    @Override
     public NumberTerm signum() {return new IntegerTerm((int) Math.signum((double) this.val)); }
 
+    @Override
     public NumberTerm sin() { return new DoubleTerm(Math.sin(this.doubleValue())); }
 
     /** 
      * @exception EvaluationException if this object represents
      * an integer less than <coe>0</code>.
      */
+    @Override
     public NumberTerm sqrt() { 
 	if (this.val < 0)
 	    throw new EvaluationException("undefined");
 	return new DoubleTerm(Math.sqrt(this.doubleValue())); 
     }
 
+    @Override
     public NumberTerm subtract(NumberTerm t) {
 	if (t instanceof DoubleTerm)
 	    return new DoubleTerm(this.doubleValue() - t.doubleValue());
 	return new IntegerTerm(this.val - t.intValue());
     }
 
+    @Override
     public NumberTerm tan() { return new DoubleTerm(Math.tan(this.doubleValue())); }
 
+    @Override
     public NumberTerm toDegrees() { return new DoubleTerm(Math.toDegrees(this.doubleValue())); }
 
+    @Override
     public NumberTerm toFloat() { return new DoubleTerm((double) this.val); }
 
+    @Override
     public NumberTerm toRadians() { return new DoubleTerm(Math.toRadians(this.doubleValue())); }
 
+    @Override
     public NumberTerm truncate() { return this; }
 
     /** 
      * @exception IllegalTypeException if the given argument
      * <code>NumberTerm</code> is a floating point number.
      */
+    @Override
     public NumberTerm xor(NumberTerm t) {
 	if (t instanceof DoubleTerm)
 	    throw new IllegalTypeException("integer", t);
diff --git a/src/lang/JavaObjectTerm.java b/src/lang/JavaObjectTerm.java
index 89c946f..a0c0256 100644
--- a/src/lang/JavaObjectTerm.java
+++ b/src/lang/JavaObjectTerm.java
@@ -33,8 +33,10 @@
     /** Returns a <code>java.lang.Class</code> of object wrapped by this <code>JavaObjectTerm</code>. */
     public Class   getClazz() { return obj.getClass(); }
 
+    @Override
     public String name() { return ""; }
 
+    @Override
     public String  toQuotedString() { return toString(); }
 
     @Override
@@ -42,6 +44,7 @@
       return TYPE_JAVA_OBJECT;
     }
 
+    @Override
     public boolean unify(Term t, Trail trail) {
 	if (t instanceof VariableTerm)
 	    return ((VariableTerm)t).unify(this, trail);
@@ -57,6 +60,7 @@
      * @see #getClazz()
      * @see Term#convertible(Class, Class)
      */
+    @Override
     public boolean convertible(Class type) { return convertible(obj.getClass(), type); }
 
     /** 
@@ -64,6 +68,7 @@
      * @return the value of <code>obj</code>.
      * @see #obj
      */
+    @Override
     public Object toJava() { return obj; }
 
     /* Object */
@@ -78,17 +83,20 @@
      * equivalent to this <code>JavaObjectTerm</code>, false otherwise.
      * @see #compareTo
      */
+    @Override
     public boolean equals(Object o) {
 	if (! (o instanceof JavaObjectTerm))
 	    return false;
 	return obj.equals(((JavaObjectTerm)o).obj);
     }
 
+    @Override
     public int hashCode() {
 	return obj.hashCode();
     }
 
     /** Returns a string representation of this <code>JavaObjectTerm</code>. */
+    @Override
     public String toString() {
 	return obj.getClass().getName()
       + "(0x" + Integer.toHexString(hashCode()) + ")";
@@ -104,6 +112,7 @@
      * a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
      * and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
      */
+    @Override
     public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
 	if (anotherTerm instanceof VariableTerm 
 	    || ((anotherTerm instanceof IntegerTerm) || (anotherTerm instanceof DoubleTerm)) 
diff --git a/src/lang/ListTerm.java b/src/lang/ListTerm.java
index e1ead71..f5ea8d1 100644
--- a/src/lang/ListTerm.java
+++ b/src/lang/ListTerm.java
@@ -81,6 +81,7 @@
     }
 
     /* Term */
+    @Override
     public boolean unify(Term t, Trail trail) {
 	t = t.dereference();
 	if (t instanceof VariableTerm) {
@@ -98,14 +99,17 @@
      * <code>convertible(List.class, type)</code>.
      * @see Term#convertible(Class, Class)
      */
+    @Override
     public boolean convertible(Class type) { 
 	return convertible(List.class, type); 
     }
 
+    @Override
     protected Term copy(Prolog engine) { 
 	return new ListTerm(car.copy(engine), cdr.copy(engine)); 
     }
 
+    @Override
     public boolean isGround() {
 	if (! car.isGround())
 	    return false;
@@ -114,8 +118,10 @@
 	return true;
     }
 
+    @Override
     public String name() { return SYM_DOT.name(); }
 
+    @Override
     public Term arg(int nth) {
       Term t = this;
       int old_nth = nth;
@@ -145,6 +151,7 @@
      * @return a {@link java.util.List} object equivalent to
      * this <code>IntegerTerm</code>.
      */
+    @Override
     public List toJava() { 
 	List<Object> vec = new ArrayList<Object>();
 	Term t = this;
@@ -155,6 +162,7 @@
 	return vec;	
     }
 
+    @Override
     public String toQuotedString() {
 	Term x = this;
 	String s = "[";
@@ -182,6 +190,7 @@
      * equivalent to this <code>ListTerm</code>, false otherwise.
      * @see #compareTo
      */
+    @Override
     public boolean equals(Object obj) {
     	if (! (obj instanceof ListTerm))
     	    return false;
@@ -189,6 +198,7 @@
 	    && cdr.equals(((ListTerm)obj).cdr().dereference());
     }
 
+    @Override
     public int hashCode() {
 	int h = 1;
 	h = 31*h + SYM_DOT.hashCode();
@@ -198,6 +208,7 @@
     }
 
     /** Returns a string representation of this <code>ListTerm</code>. */
+    @Override
     public String toString() {
 	Term x = this;	
 	String s = "[";
@@ -224,6 +235,7 @@
      * a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
      * and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
      */
+    @Override
     public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
 	if (anotherTerm instanceof VariableTerm || ((anotherTerm instanceof IntegerTerm) || (anotherTerm instanceof DoubleTerm)) || anotherTerm instanceof SymbolTerm)
 	    return AFTER;
diff --git a/src/lang/OutOfLoop.java b/src/lang/OutOfLoop.java
index bb6c123..19c4cfa 100644
--- a/src/lang/OutOfLoop.java
+++ b/src/lang/OutOfLoop.java
@@ -16,6 +16,7 @@
 	p = _p;
     }
 
+    @Override
     public void undo() {
 	p.outOfLoop = true;
     }
diff --git a/src/lang/OutOfScope.java b/src/lang/OutOfScope.java
index 9c18100..41d7d81 100644
--- a/src/lang/OutOfScope.java
+++ b/src/lang/OutOfScope.java
@@ -16,6 +16,7 @@
 	p = _p;
     }
 
+    @Override
     public void undo() {
 	p.outOfScope = false;
     }
diff --git a/src/lang/StructureTerm.java b/src/lang/StructureTerm.java
index 17e8864..4578d6b 100644
--- a/src/lang/StructureTerm.java
+++ b/src/lang/StructureTerm.java
@@ -61,6 +61,7 @@
      * @return the value of <code>arity</code>.
      * @see #arity
      */
+    @Override
     public int arity(){ return args.length; }
 
     /** Returns the argument terms of this <code>StructureTerm</code>.
@@ -74,8 +75,10 @@
      * @see #functor
      * @see SymbolTerm#name
      */
+    @Override
     public String name(){ return functor.name(); }
 
+    @Override
     public Term arg(int nth) { return args[nth]; }
 
     @Override
@@ -83,6 +86,7 @@
       return TYPE_STRUCTURE;
     }
 
+    @Override
     public boolean unify(Term t, Trail trail) {
 	t = t.dereference();
 	if (t instanceof VariableTerm) {
@@ -100,6 +104,7 @@
 	return true;
     }
 
+    @Override
     protected Term copy(Prolog engine) {
 	Term[] a = new Term[args.length];
 	for (int i=0; i<args.length; i++)
@@ -107,6 +112,7 @@
 	return new StructureTerm(functor, a);
     }
 
+    @Override
     public boolean isGround() {
 	for (int i=0; i<args.length; i++) {
 	    if (! args[i].isGround())
@@ -115,6 +121,7 @@
 	return true;
     }
 
+    @Override
     public String toQuotedString() {
 	String delim = "";
 	String s = functor.toQuotedString() + "(";
@@ -137,6 +144,7 @@
      * equivalent to this <code>StructureTerm</code>, false otherwise.
      * @see #compareTo
      */
+    @Override
     public boolean equals(Object obj) {
 	if (! (obj instanceof StructureTerm))
 	    return false;
@@ -149,6 +157,7 @@
 	return true;
     }
 
+    @Override
     public int hashCode() {
 	int h = 1;
 	h = 31*h + functor.hashCode();
@@ -158,6 +167,7 @@
     }
 
     /** Returns a string representation of this <code>StructureTerm</code>. */
+    @Override
     public String toString() {
 	String delim = "";
 	String s = functor.toString() + "(";
@@ -179,6 +189,7 @@
      * a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
      * and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
      */
+    @Override
     public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
 	SymbolTerm functor2;
 	Term[] args2;
diff --git a/src/lang/Success.java b/src/lang/Success.java
index ac937a5..8c86b0b 100644
--- a/src/lang/Success.java
+++ b/src/lang/Success.java
@@ -18,11 +18,13 @@
      * @param engine Prolog engine
      * @see PrologControl#success
      */
+    @Override
     public Operation exec(Prolog engine) {
 	engine.control.success();
 	return engine.fail();
     }
 
     /** Returns a string representation of this <code>Success</code>. */
+    @Override
     public String toString(){ return "Success"; }
 }
diff --git a/src/lang/SymbolTerm.java b/src/lang/SymbolTerm.java
index 9c6e4cf..2dd8921 100644
--- a/src/lang/SymbolTerm.java
+++ b/src/lang/SymbolTerm.java
@@ -171,12 +171,14 @@
      * @return the value of <code>arity</code>.
      * @see #arity
      */
+    @Override
     public int arity() { return arity; }
 
     /** Returns the string representation of this <code>SymbolTerm</code>.
      * @return the value of <code>name</code>.
      * @see #name
      */
+    @Override
     public String name() { return name; }
 
     @Override
@@ -184,6 +186,7 @@
       return TYPE_SYMBOL;
     }
 
+    @Override
     public boolean unify(Term t, Trail trail) {
       t = t.dereference();
       if (t instanceof VariableTerm) {
@@ -219,6 +222,7 @@
      * <code>convertible(String.class, type)</code>.
      * @see Term#convertible(Class, Class)
      */
+    @Override
     public boolean convertible(Class type) { return convertible(String.class, type); }
 
     /**
@@ -227,11 +231,14 @@
      * @return a <code>java.lang.String</code> object equivalent to
      * this <code>SymbolTerm</code>.
      */
+    @Override
     public Object toJava() { return name; }
 
+    @Override
     public String toQuotedString() { return Token.toQuotedString(name); }
 
     /** Returns a string representation of this <code>SymbolTerm</code>. */
+    @Override
     public String toString() { return name; }
 
     /* Comparable */
@@ -244,6 +251,7 @@
      * a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
      * and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
      */
+    @Override
     public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
 	if (anotherTerm instanceof VariableTerm || ((anotherTerm instanceof IntegerTerm) || (anotherTerm instanceof DoubleTerm)))
 	    return AFTER;
diff --git a/src/lang/VariableTerm.java b/src/lang/VariableTerm.java
index 5bb4085..b22c730 100644
--- a/src/lang/VariableTerm.java
+++ b/src/lang/VariableTerm.java
@@ -60,6 +60,7 @@
      * @see #bind(Term,Trail)
      * @see Trail
      */
+    @Override
     public boolean unify(Term t, Trail trail) {
 	if (val != this)
 	    return val.unify(t, trail);
@@ -101,6 +102,7 @@
      * convertible with <code>type</code>. Otherwise <code>false</code>.
      * @see #val
      */
+    @Override
     public boolean convertible(Class type) {
 	if (val != this)
 	    return val.convertible(type);
@@ -112,6 +114,7 @@
      * Otherwise, returns the value of <code>val.copy(engine)</code>.
      * @see #val
      */
+    @Override
     protected Term copy(Prolog engine) {
 	VariableTerm co;
 	if (val != this)
@@ -125,18 +128,21 @@
 	return co;
     }
 
+    @Override
     public Term dereference() {
 	if (val == this)
 	    return this;
 	return val.dereference();
     }
 
+    @Override
     public boolean isGround() {
 	if (val != this)
 	    return val.isGround();
 	return false;
     }
 
+    @Override
     public String name() {
     if (val == this)
       return "";
@@ -150,6 +156,7 @@
      * @return a Java object defined in <em>Prolog Cafe interoperability with Java</em>.
      * @see #val
      */
+    @Override
     public Object toJava() { 
 	if (val != this)
 	    return val.toJava();
@@ -162,6 +169,7 @@
      * <code>val.toQuotedString()</code>
      * @see #val
      */
+    @Override
     public String toQuotedString() {
 	if (val != this)
 	    return val.toQuotedString();
@@ -180,6 +188,7 @@
      * @see #val
      * @see #compareTo
     */
+    @Override
     public boolean equals(Object obj) {
 	if(val != this)
 	    return val.equals(obj);
@@ -194,6 +203,7 @@
      * <code>val.toString()</code>
      * @see #val
      */
+    @Override
     public String toString() {
 	if (val != this)
 	    return val.toString();
@@ -201,6 +211,7 @@
     }
 
     /* Undoable */
+    @Override
     public void undo() { val = this; }
 
     /* Comparable */
@@ -213,6 +224,7 @@
      * a value less than <code>0</code> if this term is <em>before</em> the <code>anotherTerm</code>;
      * and a value greater than <code>0</code> if this term is <em>after</em> the <code>anotherTerm</code>.
      */
+    @Override
     public int compareTo(Term anotherTerm) { // anotherTerm must be dereferenced.
 	if(val != this)
 	    return val.compareTo(anotherTerm);
diff --git a/src/repl/BlockingPrologControl.java b/src/repl/BlockingPrologControl.java
index 45989f4..712a73a 100644
--- a/src/repl/BlockingPrologControl.java
+++ b/src/repl/BlockingPrologControl.java
@@ -207,6 +207,7 @@
    * @see #result
    * @see #thread
    */
+  @Override
   protected synchronized void success() {
   resultReady = true;
   result = true;
@@ -234,6 +235,7 @@
    * @see #result
    * @see #thread
    */
+  @Override
   protected synchronized void fail() {
   resultReady = true;
   result = false;
@@ -246,6 +248,7 @@
   }
 
   /** @return true if the engine is no longer supposed to execute. */
+  @Override
   public boolean isEngineStopped() {
     return thread == null;
   }
@@ -367,6 +370,7 @@
    * @see #fail
    * @see #stop
    */
+  @Override
   public void run() {
     try {
       executePredicate();