diff --git a/core/java/test/junit/net/i2p/client/I2PSessionTest.java b/core/java/test/junit/net/i2p/client/I2PSessionTest.java
index 7f06a4234e3f0901a69c75ddf831b70f77115509..a3a2cd603593db68acfd93c5b7bc6e08d01cc7e8 100644
--- a/core/java/test/junit/net/i2p/client/I2PSessionTest.java
+++ b/core/java/test/junit/net/i2p/client/I2PSessionTest.java
@@ -24,7 +24,7 @@ import net.i2p.data.Destination;
  *
  */
 public class I2PSessionTest extends TestCase implements I2PSessionListener{
-    private Set _s;
+    private Set<String> _s;
     
     
     public void setUp(){
@@ -56,7 +56,7 @@ public class I2PSessionTest extends TestCase implements I2PSessionListener{
         
         session.setSessionListener(this);
         
-        _s = new HashSet();
+        _s = new HashSet<String>();
         _s.add("a");
         _s.add("b");
         _s.add("c");
diff --git a/core/java/test/junit/net/i2p/client/naming/BlockfileNamingServiceTest.java b/core/java/test/junit/net/i2p/client/naming/BlockfileNamingServiceTest.java
index 70234f81f02570e13cef0e342a35035a0d4a8f71..3a3603692848b0aabd0d1a7edffdfde9a7d209ba 100644
--- a/core/java/test/junit/net/i2p/client/naming/BlockfileNamingServiceTest.java
+++ b/core/java/test/junit/net/i2p/client/naming/BlockfileNamingServiceTest.java
@@ -5,7 +5,6 @@ import junit.framework.TestCase;
 import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.ArrayList;
diff --git a/core/java/test/junit/net/i2p/crypto/ElGamalTest.java b/core/java/test/junit/net/i2p/crypto/ElGamalTest.java
index 337dec3801d0ca18b074e207f09352236fa52999..2bb886338bf0eeb5c70aa1bd04e315392078fefd 100644
--- a/core/java/test/junit/net/i2p/crypto/ElGamalTest.java
+++ b/core/java/test/junit/net/i2p/crypto/ElGamalTest.java
@@ -156,7 +156,7 @@ public class ElGamalTest extends TestCase{
         String msg = "Hello world";
         
         byte encrypted[] = _context.elGamalAESEngine().encryptAESBlock(msg.getBytes(), sessionKey, iv, null, null, 64);
-        Set foundTags = new HashSet();
+        Set<SessionTag> foundTags = new HashSet<SessionTag>();
         SessionKey foundKey = new SessionKey();
         byte decrypted[] = null;
         try{
@@ -338,7 +338,7 @@ public class ElGamalTest extends TestCase{
         PrivateKey privKey = (PrivateKey)kp[1];
         SessionKey sessionKey = ctx.keyGenerator().generateSessionKey();
         for (int i = 0; i < 10; i++) {
-            Set tags = new HashSet(5);
+            Set<SessionTag> tags = new HashSet<SessionTag>(5);
             if (i == 0) {
                 for (int j = 0; j < 5; j++)
                     tags.add(new SessionTag(true));
diff --git a/core/java/test/junit/net/i2p/crypto/SHA256Test.java b/core/java/test/junit/net/i2p/crypto/SHA256Test.java
index 7d98b29ee83325c200c558e3702ad368e1af9427..fd612b5d0fe1336b1987103d58de82dfc4447f1e 100644
--- a/core/java/test/junit/net/i2p/crypto/SHA256Test.java
+++ b/core/java/test/junit/net/i2p/crypto/SHA256Test.java
@@ -10,7 +10,6 @@ package net.i2p.crypto;
  
 import junit.framework.TestCase;
 import net.i2p.I2PAppContext;
-import net.i2p.data.DataHelper;
 import net.i2p.data.Hash;
 /**
  * @author Comwiz
diff --git a/core/java/test/junit/net/i2p/crypto/SessionEncryptionTest.java b/core/java/test/junit/net/i2p/crypto/SessionEncryptionTest.java
index b86188937adf978f6c7d32a10fde9c707bec3196..ace051aa78b0d52a0b7f9585ce7b7b9cb13934c5 100644
--- a/core/java/test/junit/net/i2p/crypto/SessionEncryptionTest.java
+++ b/core/java/test/junit/net/i2p/crypto/SessionEncryptionTest.java
@@ -81,11 +81,11 @@ public class SessionEncryptionTest extends TestCase{
         SessionTag tag3 = new SessionTag(true);
         SessionTag tag4 = new SessionTag(true);
         
-        HashSet firstTags = new HashSet();
+        HashSet<SessionTag> firstTags = new HashSet<SessionTag>();
         firstTags.add(tag1);
         firstTags.add(tag2);
         
-        HashSet secondTags = new HashSet();
+        HashSet<SessionTag> secondTags = new HashSet<SessionTag>();
         secondTags.add(tag3);
         secondTags.add(tag4);
         
@@ -180,11 +180,11 @@ public class SessionEncryptionTest extends TestCase{
         SessionTag tag3 = new SessionTag(true);
         SessionTag tag4 = new SessionTag(true);
         
-        HashSet firstTags = new HashSet();
+        HashSet<SessionTag> firstTags = new HashSet<SessionTag>();
         firstTags.add(tag1);
         firstTags.add(tag2);
         
-        HashSet secondTags = new HashSet();
+        HashSet<SessionTag> secondTags = new HashSet<SessionTag>();
         secondTags.add(tag3);
         secondTags.add(tag4);
         
@@ -271,7 +271,7 @@ public class SessionEncryptionTest extends TestCase{
         SessionKey curKey = _context.sessionKeyManager().createSession(pubKey);
         
         for (int i = 0; i < 1000; i++) {
-            Set tags = null;
+            Set<SessionTag> tags = null;
             SessionKey nextKey = null;
             curKey = _context.sessionKeyManager().getCurrentKey(pubKey);
             SessionTag curTag = _context.sessionKeyManager().consumeNextAvailableTag(pubKey, curKey);
@@ -302,8 +302,8 @@ public class SessionEncryptionTest extends TestCase{
         }
     }
     
-    private Set generateNewTags(int numTags) {
-        Set tags = new HashSet(numTags);
+    private Set<SessionTag> generateNewTags(int numTags) {
+        Set<SessionTag> tags = new HashSet<SessionTag>(numTags);
         for (int i = 0; i < numTags; i++)
             tags.add(new SessionTag(true));
         return tags;
diff --git a/core/java/test/junit/net/i2p/data/PayloadTest.java b/core/java/test/junit/net/i2p/data/PayloadTest.java
index ebdf66dfcee088568ec8a02e4b3a7c5fc539cb98..143c794b3b56245f94e4ce02812bb7b895179b6d 100644
--- a/core/java/test/junit/net/i2p/data/PayloadTest.java
+++ b/core/java/test/junit/net/i2p/data/PayloadTest.java
@@ -8,9 +8,6 @@ package net.i2p.data;
  *
  */
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
 /**
  * Test harness for loading / storing Payload objects
  *
diff --git a/core/java/test/junit/net/i2p/data/RouterAddressTest.java b/core/java/test/junit/net/i2p/data/RouterAddressTest.java
index 1dd4896fdf1986a889b86a60c5a38d2f8b8c156a..15a1e79290da597f46ac8258f407e2de78ddaa5e 100644
--- a/core/java/test/junit/net/i2p/data/RouterAddressTest.java
+++ b/core/java/test/junit/net/i2p/data/RouterAddressTest.java
@@ -9,7 +9,6 @@ package net.i2p.data;
  */
  
 import java.io.ByteArrayOutputStream;
-import java.util.Date;
 import java.util.Properties;
 
 /**
diff --git a/core/java/test/junit/net/i2p/data/RouterInfoTest.java b/core/java/test/junit/net/i2p/data/RouterInfoTest.java
index 0dbba64bce8db078a22a155b99e46529c299e2aa..6874ffa672a65554c8cf00431e28e9f066b58012 100644
--- a/core/java/test/junit/net/i2p/data/RouterInfoTest.java
+++ b/core/java/test/junit/net/i2p/data/RouterInfoTest.java
@@ -23,9 +23,9 @@ public class RouterInfoTest extends StructureTest {
     private final static Log _log = new Log(RouterInfoTest.class);
     public DataStructure createDataStructure() throws DataFormatException {
         RouterInfo info = new RouterInfo();
-        HashSet addresses = new HashSet();
+        HashSet<RouterAddress> addresses = new HashSet<RouterAddress>();
         DataStructure structure = (new RouterAddressTest()).createDataStructure();
-        addresses.add(structure);
+        addresses.add((RouterAddress) structure);
         info.setAddresses(addresses);
         
     	PublicKey pubKey = null;
@@ -57,9 +57,9 @@ public class RouterInfoTest extends StructureTest {
         options.setProperty("netConnectionSpeed", "OC12");
         info.setOptions(options);
 	
-        HashSet peers = new HashSet();
+        HashSet<Hash> peers = new HashSet<Hash>();
         structure = (new HashTest()).createDataStructure();
-        peers.add(structure);
+        peers.add((Hash) structure);
         info.setPeers(peers);
     	info.setPublished(System.currentTimeMillis());
             
diff --git a/core/java/test/junit/net/i2p/data/SimpleDataStructureTest.java b/core/java/test/junit/net/i2p/data/SimpleDataStructureTest.java
index 4cf8233429a2e76b63f27c4dff66bc2fe9604b73..5e0d1cae0cd9cca31778da8a7f0e0e0dc2a63bdf 100644
--- a/core/java/test/junit/net/i2p/data/SimpleDataStructureTest.java
+++ b/core/java/test/junit/net/i2p/data/SimpleDataStructureTest.java
@@ -8,9 +8,6 @@ package net.i2p.data;
  *
  */
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
 import junit.framework.TestCase;
 
 /**
diff --git a/core/java/test/junit/net/i2p/data/i2cp/MessagePayloadMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/MessagePayloadMessageTest.java
index d863ebe9baab048bcef863fe8d66427ef5a20111..11a9f2892bab59d1439deeabef90b1546be5093b 100644
--- a/core/java/test/junit/net/i2p/data/i2cp/MessagePayloadMessageTest.java
+++ b/core/java/test/junit/net/i2p/data/i2cp/MessagePayloadMessageTest.java
@@ -8,9 +8,6 @@ package net.i2p.data.i2cp;
  *
  */
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
 import net.i2p.data.StructureTest;
 import net.i2p.data.DataStructure;
 import net.i2p.data.DataFormatException;
diff --git a/core/java/test/junit/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java
index 5a5908df2de9b7e53d203c0352c273428555cdb5..fa487b9c857c3a6c6350b8a6393518a349c8980a 100644
--- a/core/java/test/junit/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java
+++ b/core/java/test/junit/net/i2p/data/i2cp/SendMessageExpiresMessageTest.java
@@ -8,9 +8,6 @@ package net.i2p.data.i2cp;
  *
  */
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
 import net.i2p.data.StructureTest;
 import net.i2p.data.DataStructure;
 import net.i2p.data.DataFormatException;
diff --git a/core/java/test/junit/net/i2p/data/i2cp/SendMessageMessageTest.java b/core/java/test/junit/net/i2p/data/i2cp/SendMessageMessageTest.java
index 1b867832ad704f1070152b9cde79de60bdd39d36..e5798da43e139e43ac87ef513bb58663122a50f4 100644
--- a/core/java/test/junit/net/i2p/data/i2cp/SendMessageMessageTest.java
+++ b/core/java/test/junit/net/i2p/data/i2cp/SendMessageMessageTest.java
@@ -8,9 +8,6 @@ package net.i2p.data.i2cp;
  *
  */
 
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
 import net.i2p.data.StructureTest;
 import net.i2p.data.DataStructure;
 import net.i2p.data.DataFormatException;
diff --git a/core/java/test/junit/net/i2p/stat/SimpleStatDumper.java b/core/java/test/junit/net/i2p/stat/SimpleStatDumper.java
index eb48e5fce886f61a3f61b8984c5e7aa1e1bbfc67..fd47800f228fe1fb8ea00fc34a0e2557ba184540 100644
--- a/core/java/test/junit/net/i2p/stat/SimpleStatDumper.java
+++ b/core/java/test/junit/net/i2p/stat/SimpleStatDumper.java
@@ -21,9 +21,9 @@ public class SimpleStatDumper {
     }
 
     private static void dumpFrequencies(I2PAppContext ctx, StringBuilder buf) {
-        Set frequencies = new TreeSet(ctx.statManager().getFrequencyNames());
-        for (Iterator iter = frequencies.iterator(); iter.hasNext();) {
-            String name = (String) iter.next();
+        Set<String> frequencies = new TreeSet<String>(ctx.statManager().getFrequencyNames());
+        for (Iterator<String> iter = frequencies.iterator(); iter.hasNext();) {
+            String name = iter.next();
             FrequencyStat freq = ctx.statManager().getFrequency(name);
             buf.append('\n');
             buf.append(freq.getGroupName()).append('.').append(freq.getName()).append(": ")
@@ -41,9 +41,9 @@ public class SimpleStatDumper {
     }
 
     private static void dumpRates(I2PAppContext ctx, StringBuilder buf) {
-        Set rates = new TreeSet(ctx.statManager().getRateNames());
-        for (Iterator iter = rates.iterator(); iter.hasNext();) {
-            String name = (String) iter.next();
+        Set<String> rates = new TreeSet<String>(ctx.statManager().getRateNames());
+        for (Iterator<String> iter = rates.iterator(); iter.hasNext();) {
+            String name = iter.next();
             RateStat rate = ctx.statManager().getRate(name);
             buf.append('\n');
             buf.append(rate.getGroupName()).append('.').append(rate.getName()).append(": ")
diff --git a/core/java/test/junit/net/i2p/stat/StatLogSplitter.java b/core/java/test/junit/net/i2p/stat/StatLogSplitter.java
index c1b202fc60aa8b470030cccb4ffd01e207d1d5c8..4e4c53a47ad50203d688df7359919d9415e70e92 100644
--- a/core/java/test/junit/net/i2p/stat/StatLogSplitter.java
+++ b/core/java/test/junit/net/i2p/stat/StatLogSplitter.java
@@ -29,7 +29,7 @@ public class StatLogSplitter {
     }
     
     private static void splitLog(String filename) {
-        Map outputFiles = new HashMap(4);
+        Map<String, FileWriter> outputFiles = new HashMap<String, FileWriter>(4);
         try {
             BufferedReader in = new BufferedReader(new FileReader(filename));
             String line;
@@ -68,8 +68,8 @@ public class StatLogSplitter {
         } catch (IOException ioe) {
             ioe.printStackTrace();
         }
-        for (Iterator iter = outputFiles.values().iterator(); iter.hasNext(); ) {
-            FileWriter out = (FileWriter)iter.next();
+        for (Iterator<FileWriter> iter = outputFiles.values().iterator(); iter.hasNext(); ) {
+            FileWriter out = iter.next();
             try { out.close(); } catch (IOException ioe) {}
         }
     }