abstract class KeyObject { public abstract String getKey(); public boolean equalKey(String key) { return getKey().equals(key); } public boolean equalKey(KeyObject kobj) { return getKey().equals(kobj.getKey()); } public boolean lessThan(String key) { return getKey().compareTo(key)<0; } public boolean lessThan(KeyObject kobj) { return getKey().compareTo(kobj.getKey())<0; } }