diff --git a/core/java/src/net/i2p/client/naming/BlockfileNamingService.java b/core/java/src/net/i2p/client/naming/BlockfileNamingService.java index 3d49884a1..8b58445bf 100644 --- a/core/java/src/net/i2p/client/naming/BlockfileNamingService.java +++ b/core/java/src/net/i2p/client/naming/BlockfileNamingService.java @@ -540,7 +540,7 @@ public class BlockfileNamingService extends DummyNamingService { * @return removed object or null * @throws RuntimeException */ - private static Object removeEntry(SkipList sl, String key) { + private static V removeEntry(SkipList sl, String key) { return sl.remove(key); } @@ -858,12 +858,12 @@ public class BlockfileNamingService extends DummyNamingService { SkipList sl = _bf.getIndex(listname, _stringSerializer, _destSerializer); if (sl == null) return false; - Object removed = removeEntry(sl, key); + DestEntry removed = removeEntry(sl, key); boolean rv = removed != null; if (rv) { removeCache(hostname); try { - removeReverseEntry(key, ((DestEntry)removed).dest); + removeReverseEntry(key, removed.dest); } catch (ClassCastException cce) { _log.error("DB reverse remove error", cce); } diff --git a/core/java/src/net/metanotion/util/skiplist/SkipList.java b/core/java/src/net/metanotion/util/skiplist/SkipList.java index 6c1e5c9ba..bb4226d78 100644 --- a/core/java/src/net/metanotion/util/skiplist/SkipList.java +++ b/core/java/src/net/metanotion/util/skiplist/SkipList.java @@ -118,7 +118,7 @@ public class SkipList, V> implements Flushable { } @SuppressWarnings("unchecked") - public Object remove(K key) { + public V remove(K key) { if(key == null) { throw new NullPointerException(); } Object[] res = stack.remove(stack.levels.length - 1, key, this); if(res != null) { @@ -132,7 +132,7 @@ public class SkipList, V> implements Flushable { stack.flush(); } flush(); - return res[0]; + return (V) res[0]; } return null; }