Eliminate all wildcard import lines in library
diff --git a/lib/JUnitLogFixFormatter.java b/lib/JUnitLogFixFormatter.java
index 9920f3b..1656efe 100644
--- a/lib/JUnitLogFixFormatter.java
+++ b/lib/JUnitLogFixFormatter.java
@@ -19,9 +19,13 @@
 import org.apache.tools.ant.taskdefs.optional.junit.JUnitResultFormatter;
 import org.apache.tools.ant.taskdefs.optional.junit.JUnitTest;
 
-import java.io.*;
-import java.util.*;
-import java.util.logging.*;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.ConsoleHandler;
+import java.util.logging.Handler;
+import java.util.logging.Logger;
 
 /**
  * Ant formatter for fixing logging output when runing multiple JUnit tests in
diff --git a/src/com/google/enterprise/adaptor/AbstractAdaptor.java b/src/com/google/enterprise/adaptor/AbstractAdaptor.java
index 23823d6..626f8fd 100644
--- a/src/com/google/enterprise/adaptor/AbstractAdaptor.java
+++ b/src/com/google/enterprise/adaptor/AbstractAdaptor.java
@@ -14,7 +14,6 @@
 
 package com.google.enterprise.adaptor;
 
-import java.util.*;
 import java.util.logging.Logger;
 
 /**
diff --git a/src/com/google/enterprise/adaptor/AbstractDocIdPusher.java b/src/com/google/enterprise/adaptor/AbstractDocIdPusher.java
index 31b417c..4dbfc13 100644
--- a/src/com/google/enterprise/adaptor/AbstractDocIdPusher.java
+++ b/src/com/google/enterprise/adaptor/AbstractDocIdPusher.java
@@ -14,7 +14,10 @@
 
 package com.google.enterprise.adaptor;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Abstract class providing most methods required for a {@code DocIdPusher}.
diff --git a/src/com/google/enterprise/adaptor/AbstractLazyOutputStream.java b/src/com/google/enterprise/adaptor/AbstractLazyOutputStream.java
index 8fe0b55..242b099 100644
--- a/src/com/google/enterprise/adaptor/AbstractLazyOutputStream.java
+++ b/src/com/google/enterprise/adaptor/AbstractLazyOutputStream.java
@@ -14,7 +14,8 @@
 
 package com.google.enterprise.adaptor;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
 
 /**
  * OutputStream that passes all calls to the {@code OutputStream} provided by
diff --git a/src/com/google/enterprise/adaptor/Acl.java b/src/com/google/enterprise/adaptor/Acl.java
index a0d8754..da4b065 100644
--- a/src/com/google/enterprise/adaptor/Acl.java
+++ b/src/com/google/enterprise/adaptor/Acl.java
@@ -17,8 +17,21 @@
 import com.google.common.collect.Sets;
 
 import java.io.IOException;
-import java.util.*;
-import java.util.logging.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * Immutable access control list. For description of the semantics of the
diff --git a/src/com/google/enterprise/adaptor/AclTransform.java b/src/com/google/enterprise/adaptor/AclTransform.java
index dba8b7c..16adc93 100644
--- a/src/com/google/enterprise/adaptor/AclTransform.java
+++ b/src/com/google/enterprise/adaptor/AclTransform.java
@@ -17,7 +17,11 @@
 import com.google.common.base.Objects;
 import com.google.enterprise.adaptor.Principal.ParsedPrincipal;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
 
 /**
  * Transforms Principals in ACLs based on provided rules.
diff --git a/src/com/google/enterprise/adaptor/AdministratorSecurityHandler.java b/src/com/google/enterprise/adaptor/AdministratorSecurityHandler.java
index ff559f9..dc3e861 100644
--- a/src/com/google/enterprise/adaptor/AdministratorSecurityHandler.java
+++ b/src/com/google/enterprise/adaptor/AdministratorSecurityHandler.java
@@ -20,10 +20,15 @@
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
 
-import java.io.*;
-import java.net.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.ConnectException;
+import java.net.HttpURLConnection;
+import java.net.URLDecoder;
+import java.net.UnknownHostException;
 import java.nio.charset.Charset;
-import java.util.logging.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * Require GSA-Administrator authentication before allowing requests.
diff --git a/src/com/google/enterprise/adaptor/Application.java b/src/com/google/enterprise/adaptor/Application.java
index 8b2f9f1..a86c04c 100644
--- a/src/com/google/enterprise/adaptor/Application.java
+++ b/src/com/google/enterprise/adaptor/Application.java
@@ -23,12 +23,27 @@
 
 import java.io.File;
 import java.io.IOException;
-import java.net.*;
+import java.net.InetSocketAddress;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
 import java.security.NoSuchAlgorithmException;
-import java.util.*;
-import java.util.concurrent.*;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import java.util.Set;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.Executor;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.RejectedExecutionHandler;
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLParameters;
diff --git a/src/com/google/enterprise/adaptor/AsyncDocIdSender.java b/src/com/google/enterprise/adaptor/AsyncDocIdSender.java
index 384f889..fd67a2a 100644
--- a/src/com/google/enterprise/adaptor/AsyncDocIdSender.java
+++ b/src/com/google/enterprise/adaptor/AsyncDocIdSender.java
@@ -14,8 +14,12 @@
 
 package com.google.enterprise.adaptor;
 
-import java.util.*;
-import java.util.concurrent.*;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.Set;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.TimeUnit;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
diff --git a/src/com/google/enterprise/adaptor/AuthnIdentityImpl.java b/src/com/google/enterprise/adaptor/AuthnIdentityImpl.java
index 0c4ced2..687aa2b 100644
--- a/src/com/google/enterprise/adaptor/AuthnIdentityImpl.java
+++ b/src/com/google/enterprise/adaptor/AuthnIdentityImpl.java
@@ -14,7 +14,9 @@
 
 package com.google.enterprise.adaptor;
 
-import java.util.*;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
 
 /**
  * Immutable implementation of {@link AuthnIdentity}.
diff --git a/src/com/google/enterprise/adaptor/CircularBufferHandler.java b/src/com/google/enterprise/adaptor/CircularBufferHandler.java
index a522b79..72b2fe7 100644
--- a/src/com/google/enterprise/adaptor/CircularBufferHandler.java
+++ b/src/com/google/enterprise/adaptor/CircularBufferHandler.java
@@ -14,8 +14,10 @@
 
 package com.google.enterprise.adaptor;
 
-import java.io.*;
-import java.util.logging.*;
+import java.util.logging.Formatter;
+import java.util.logging.Handler;
+import java.util.logging.LogRecord;
+import java.util.logging.SimpleFormatter;
 
 /**
  * Logging Handler that keeps a circular buffer of recent log messages for later
diff --git a/src/com/google/enterprise/adaptor/Config.java b/src/com/google/enterprise/adaptor/Config.java
index dabf0f7..5be02d8 100644
--- a/src/com/google/enterprise/adaptor/Config.java
+++ b/src/com/google/enterprise/adaptor/Config.java
@@ -14,15 +14,29 @@
 
 package com.google.enterprise.adaptor;
 
-import java.io.*;
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.Reader;
 import java.net.InetAddress;
 import java.net.URI;
 import java.net.UnknownHostException;
 import java.nio.charset.Charset;
 import java.text.MessageFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
 import java.util.concurrent.CopyOnWriteArrayList;
-import java.util.logging.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * Configuration values for this program, like the GSA's hostname. Also several
diff --git a/src/com/google/enterprise/adaptor/ConfigModificationEvent.java b/src/com/google/enterprise/adaptor/ConfigModificationEvent.java
index 5d1caea..41c650c 100644
--- a/src/com/google/enterprise/adaptor/ConfigModificationEvent.java
+++ b/src/com/google/enterprise/adaptor/ConfigModificationEvent.java
@@ -14,7 +14,9 @@
 
 package com.google.enterprise.adaptor;
 
-import java.util.*;
+import java.util.Collections;
+import java.util.EventObject;
+import java.util.Set;
 
 /**
  * Represents configuration modification event information.
diff --git a/src/com/google/enterprise/adaptor/CronScheduler.java b/src/com/google/enterprise/adaptor/CronScheduler.java
index f0f260a..1320000 100644
--- a/src/com/google/enterprise/adaptor/CronScheduler.java
+++ b/src/com/google/enterprise/adaptor/CronScheduler.java
@@ -1,7 +1,19 @@
 package com.google.enterprise.adaptor;
 
-import java.util.*;
-import java.util.concurrent.*;
+import java.util.Arrays;
+import java.util.BitSet;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Date;
+import java.util.EnumMap;
+import java.util.GregorianCalendar;
+import java.util.List;
+import java.util.TimeZone;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
diff --git a/src/com/google/enterprise/adaptor/CustomFormatter.java b/src/com/google/enterprise/adaptor/CustomFormatter.java
index fe12164..9940bf9 100644
--- a/src/com/google/enterprise/adaptor/CustomFormatter.java
+++ b/src/com/google/enterprise/adaptor/CustomFormatter.java
@@ -14,10 +14,14 @@
 
 package com.google.enterprise.adaptor;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.Writer;
 import java.text.MessageFormat;
 import java.util.Date;
-import java.util.logging.*;
+import java.util.logging.Formatter;
+import java.util.logging.LogManager;
+import java.util.logging.LogRecord;
 
 /**
  * Custom log formatter for ease of development. It is specifically targeted to
diff --git a/src/com/google/enterprise/adaptor/Dashboard.java b/src/com/google/enterprise/adaptor/Dashboard.java
index cce8645..e74314c 100644
--- a/src/com/google/enterprise/adaptor/Dashboard.java
+++ b/src/com/google/enterprise/adaptor/Dashboard.java
@@ -18,10 +18,18 @@
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
 
-import java.io.*;
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.logging.*;
+import java.io.Closeable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Scanner;
+import java.util.TreeMap;
+import java.util.logging.LogManager;
+import java.util.logging.Logger;
 
 /**
  * Central creation of objects necessary for the dashboard.
diff --git a/src/com/google/enterprise/adaptor/DocIdCodec.java b/src/com/google/enterprise/adaptor/DocIdCodec.java
index 949805e..869cc09 100644
--- a/src/com/google/enterprise/adaptor/DocIdCodec.java
+++ b/src/com/google/enterprise/adaptor/DocIdCodec.java
@@ -14,7 +14,8 @@
 
 package com.google.enterprise.adaptor;
 
-import java.net.*;
+import java.net.URI;
+import java.net.URISyntaxException;
 
 /**
  * Codec for encoding and decoding {@code DocId}s to {@code URI}s.
diff --git a/src/com/google/enterprise/adaptor/DocIdSender.java b/src/com/google/enterprise/adaptor/DocIdSender.java
index d1b3740..41b5b1e 100644
--- a/src/com/google/enterprise/adaptor/DocIdSender.java
+++ b/src/com/google/enterprise/adaptor/DocIdSender.java
@@ -15,8 +15,14 @@
 package com.google.enterprise.adaptor;
 
 import java.io.IOException;
-import java.util.*;
-import java.util.logging.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * All logic for sending DocIds to the GSA from an adaptor.
diff --git a/src/com/google/enterprise/adaptor/DocumentHandler.java b/src/com/google/enterprise/adaptor/DocumentHandler.java
index f72fb8e..ac6c62e 100644
--- a/src/com/google/enterprise/adaptor/DocumentHandler.java
+++ b/src/com/google/enterprise/adaptor/DocumentHandler.java
@@ -27,9 +27,23 @@
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
-import java.net.*;
+import java.net.HttpURLConnection;
+import java.net.InetAddress;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.UnknownHostException;
 import java.nio.charset.Charset;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
diff --git a/src/com/google/enterprise/adaptor/DownloadDumpHandler.java b/src/com/google/enterprise/adaptor/DownloadDumpHandler.java
index e97acb4..58776d8 100644
--- a/src/com/google/enterprise/adaptor/DownloadDumpHandler.java
+++ b/src/com/google/enterprise/adaptor/DownloadDumpHandler.java
@@ -20,7 +20,14 @@
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
 
-import java.io.*;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
 import java.net.HttpURLConnection;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
diff --git a/src/com/google/enterprise/adaptor/FakeMap.java b/src/com/google/enterprise/adaptor/FakeMap.java
index aa67842..a8351b6 100644
--- a/src/com/google/enterprise/adaptor/FakeMap.java
+++ b/src/com/google/enterprise/adaptor/FakeMap.java
@@ -14,7 +14,10 @@
 
 package com.google.enterprise.adaptor;
 
-import java.util.*;
+import java.util.AbstractMap;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * Fake modifiable map that doesn't store anything.
diff --git a/src/com/google/enterprise/adaptor/FastFilterOutputStream.java b/src/com/google/enterprise/adaptor/FastFilterOutputStream.java
index cbde2d5..3db5f45 100644
--- a/src/com/google/enterprise/adaptor/FastFilterOutputStream.java
+++ b/src/com/google/enterprise/adaptor/FastFilterOutputStream.java
@@ -14,7 +14,8 @@
 
 package com.google.enterprise.adaptor;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
 
 /**
  * {@link FilterOutputStream} replacement that uses {@link
diff --git a/src/com/google/enterprise/adaptor/GsaCommunicationHandler.java b/src/com/google/enterprise/adaptor/GsaCommunicationHandler.java
index a02dac2..5ee89f2 100644
--- a/src/com/google/enterprise/adaptor/GsaCommunicationHandler.java
+++ b/src/com/google/enterprise/adaptor/GsaCommunicationHandler.java
@@ -27,13 +27,34 @@
 import org.opensaml.DefaultBootstrap;
 import org.opensaml.xml.ConfigurationException;
 
-import java.io.*;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
 import java.lang.reflect.Method;
-import java.net.*;
-import java.security.*;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.security.Key;
+import java.security.KeyPair;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.PrivateKey;
+import java.security.PublicKey;
+import java.security.UnrecoverableKeyException;
 import java.security.cert.CertificateException;
-import java.util.*;
-import java.util.concurrent.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.logging.Level;
 import java.util.logging.Logger;
diff --git a/src/com/google/enterprise/adaptor/GsaFeedFileMaker.java b/src/com/google/enterprise/adaptor/GsaFeedFileMaker.java
index 52bfe01..2543b88 100644
--- a/src/com/google/enterprise/adaptor/GsaFeedFileMaker.java
+++ b/src/com/google/enterprise/adaptor/GsaFeedFileMaker.java
@@ -14,18 +14,33 @@
 
 package com.google.enterprise.adaptor;
 
-import org.w3c.dom.*;
+import org.w3c.dom.Comment;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Text;
 
-import java.io.*;
+import java.io.StringWriter;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
-import java.util.*;
-import javax.xml.parsers.*;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.*;
-import javax.xml.transform.stream.*;
+import java.util.Collection;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.TimeZone;
+import java.util.TreeSet;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
 
 
 /** Makes XML metadata-and-url feed file from DocIds.
diff --git a/src/com/google/enterprise/adaptor/GsaFeedFileSender.java b/src/com/google/enterprise/adaptor/GsaFeedFileSender.java
index 0407fba..59be394 100644
--- a/src/com/google/enterprise/adaptor/GsaFeedFileSender.java
+++ b/src/com/google/enterprise/adaptor/GsaFeedFileSender.java
@@ -16,7 +16,10 @@
 
 import com.google.common.annotations.VisibleForTesting;
 
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
diff --git a/src/com/google/enterprise/adaptor/HashMapSession.java b/src/com/google/enterprise/adaptor/HashMapSession.java
index 73c26fb..bb0d0fc 100644
--- a/src/com/google/enterprise/adaptor/HashMapSession.java
+++ b/src/com/google/enterprise/adaptor/HashMapSession.java
@@ -14,7 +14,8 @@
 
 package com.google.enterprise.adaptor;
 
-import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Generic session-state container, but intended for authn bookkeeping.
diff --git a/src/com/google/enterprise/adaptor/HttpExchanges.java b/src/com/google/enterprise/adaptor/HttpExchanges.java
index 236c052..0440790 100644
--- a/src/com/google/enterprise/adaptor/HttpExchanges.java
+++ b/src/com/google/enterprise/adaptor/HttpExchanges.java
@@ -28,7 +28,16 @@
 import java.nio.charset.Charset;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.TimeZone;
+import java.util.TreeMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.zip.GZIPOutputStream;
diff --git a/src/com/google/enterprise/adaptor/HttpServerScope.java b/src/com/google/enterprise/adaptor/HttpServerScope.java
index 72af660..36338b6 100644
--- a/src/com/google/enterprise/adaptor/HttpServerScope.java
+++ b/src/com/google/enterprise/adaptor/HttpServerScope.java
@@ -19,7 +19,8 @@
 import com.sun.net.httpserver.HttpServer;
 
 import java.io.Closeable;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Provides a scope within an HttpServer. The current implementation simply
diff --git a/src/com/google/enterprise/adaptor/IOHelper.java b/src/com/google/enterprise/adaptor/IOHelper.java
index 04cec69..2bf0c25 100644
--- a/src/com/google/enterprise/adaptor/IOHelper.java
+++ b/src/com/google/enterprise/adaptor/IOHelper.java
@@ -14,7 +14,13 @@
 
 package com.google.enterprise.adaptor;
 
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.nio.charset.Charset;
 
 /**
diff --git a/src/com/google/enterprise/adaptor/Journal.java b/src/com/google/enterprise/adaptor/Journal.java
index b9e6e52..7362722 100644
--- a/src/com/google/enterprise/adaptor/Journal.java
+++ b/src/com/google/enterprise/adaptor/Journal.java
@@ -14,7 +14,9 @@
 
 package com.google.enterprise.adaptor;
 
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Contains registers and stats regarding runtime.
diff --git a/src/com/google/enterprise/adaptor/RedirectHandler.java b/src/com/google/enterprise/adaptor/RedirectHandler.java
index dbe619f..ad764ac 100644
--- a/src/com/google/enterprise/adaptor/RedirectHandler.java
+++ b/src/com/google/enterprise/adaptor/RedirectHandler.java
@@ -18,7 +18,9 @@
 import com.sun.net.httpserver.HttpHandler;
 
 import java.io.IOException;
-import java.net.*;
+import java.net.HttpURLConnection;
+import java.net.URI;
+import java.net.URISyntaxException;
 
 /**
  * HTTP Handler that responds with a fixed redirect. The redirect only occurs if
diff --git a/src/com/google/enterprise/adaptor/Response.java b/src/com/google/enterprise/adaptor/Response.java
index dbe5f05..cd90d85 100644
--- a/src/com/google/enterprise/adaptor/Response.java
+++ b/src/com/google/enterprise/adaptor/Response.java
@@ -14,7 +14,8 @@
 
 package com.google.enterprise.adaptor;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.net.URI;
 import java.util.Date;
 
diff --git a/src/com/google/enterprise/adaptor/RpcHandler.java b/src/com/google/enterprise/adaptor/RpcHandler.java
index c7b9baa..1ae81b2 100644
--- a/src/com/google/enterprise/adaptor/RpcHandler.java
+++ b/src/com/google/enterprise/adaptor/RpcHandler.java
@@ -23,8 +23,11 @@
 import java.io.IOException;
 import java.net.HttpURLConnection;
 import java.nio.charset.Charset;
-import java.util.*;
-import java.util.logging.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * JSON-RPC handler for communication with the dashboard.
diff --git a/src/com/google/enterprise/adaptor/SamlBatchAuthzHandler.java b/src/com/google/enterprise/adaptor/SamlBatchAuthzHandler.java
index 047c786..36704f2 100644
--- a/src/com/google/enterprise/adaptor/SamlBatchAuthzHandler.java
+++ b/src/com/google/enterprise/adaptor/SamlBatchAuthzHandler.java
@@ -39,9 +39,15 @@
 import org.opensaml.xml.security.SecurityException;
 
 import java.io.IOException;
-import java.net.*;
-import java.util.*;
-import java.util.logging.*;
+import java.net.HttpURLConnection;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * Handler for responding to late-binding, SAML batch authorization requests
diff --git a/src/com/google/enterprise/adaptor/SamlIdentityProvider.java b/src/com/google/enterprise/adaptor/SamlIdentityProvider.java
index 4e7e11b..c6a6957 100644
--- a/src/com/google/enterprise/adaptor/SamlIdentityProvider.java
+++ b/src/com/google/enterprise/adaptor/SamlIdentityProvider.java
@@ -68,8 +68,10 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.security.KeyPair;
-import java.util.*;
-import java.util.logging.*;
+import java.util.List;
+import java.util.Collections;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * Provides ability to recieve and respond to SAML authn requests.
diff --git a/src/com/google/enterprise/adaptor/SensitiveValueCodec.java b/src/com/google/enterprise/adaptor/SensitiveValueCodec.java
index a228eb0..32ccb50 100644
--- a/src/com/google/enterprise/adaptor/SensitiveValueCodec.java
+++ b/src/com/google/enterprise/adaptor/SensitiveValueCodec.java
@@ -15,10 +15,17 @@
 package com.google.enterprise.adaptor;
 
 import java.nio.charset.Charset;
-import java.security.*;
-import java.util.*;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.KeyPair;
+import java.security.NoSuchAlgorithmException;
+import java.util.Random;
 
-import javax.crypto.*;
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+import javax.crypto.NoSuchPaddingException;
+import javax.crypto.SecretKey;
 import javax.crypto.spec.SecretKeySpec;
 import javax.xml.bind.DatatypeConverter;
 
diff --git a/src/com/google/enterprise/adaptor/Session.java b/src/com/google/enterprise/adaptor/Session.java
index 16d07cc..c2e0c9f 100644
--- a/src/com/google/enterprise/adaptor/Session.java
+++ b/src/com/google/enterprise/adaptor/Session.java
@@ -14,8 +14,6 @@
 
 package com.google.enterprise.adaptor;
 
-import java.util.*;
-
 /**
  * Generic session-state container, but intended for authn bookkeeping.
  */
diff --git a/src/com/google/enterprise/adaptor/SessionManager.java b/src/com/google/enterprise/adaptor/SessionManager.java
index ee27db5..830d78d 100644
--- a/src/com/google/enterprise/adaptor/SessionManager.java
+++ b/src/com/google/enterprise/adaptor/SessionManager.java
@@ -17,7 +17,13 @@
 import com.sun.net.httpserver.HttpExchange;
 
 import java.security.SecureRandom;
-import java.util.*;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+import java.util.WeakHashMap;
 import javax.xml.bind.DatatypeConverter;
 
 /**
diff --git a/src/com/google/enterprise/adaptor/ShutdownWaiter.java b/src/com/google/enterprise/adaptor/ShutdownWaiter.java
index 75c3b42..a6d9ce4 100644
--- a/src/com/google/enterprise/adaptor/ShutdownWaiter.java
+++ b/src/com/google/enterprise/adaptor/ShutdownWaiter.java
@@ -18,7 +18,9 @@
 import com.sun.net.httpserver.HttpExchange;
 
 import java.io.IOException;
-import java.util.*;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
diff --git a/src/com/google/enterprise/adaptor/SleepHandler.java b/src/com/google/enterprise/adaptor/SleepHandler.java
index 626a448..0759ef5 100644
--- a/src/com/google/enterprise/adaptor/SleepHandler.java
+++ b/src/com/google/enterprise/adaptor/SleepHandler.java
@@ -20,7 +20,8 @@
 import java.io.IOException;
 import java.net.HttpURLConnection;
 import java.nio.charset.Charset;
-import java.util.logging.*;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /** Handler that simply sleeps for a given amount of time. */
 class SleepHandler implements HttpHandler {
diff --git a/src/com/google/enterprise/adaptor/Translation.java b/src/com/google/enterprise/adaptor/Translation.java
index cdb0695..e11c549 100644
--- a/src/com/google/enterprise/adaptor/Translation.java
+++ b/src/com/google/enterprise/adaptor/Translation.java
@@ -15,7 +15,8 @@
 package com.google.enterprise.adaptor;
 
 import java.text.MessageFormat;
-import java.util.*;
+import java.util.Locale;
+import java.util.ResourceBundle;
 
 /**
  * Enum for all translation keys. All user-visible messages should exist in our
diff --git a/src/com/google/enterprise/adaptor/Watchdog.java b/src/com/google/enterprise/adaptor/Watchdog.java
index 4fee053..a8ba9e3 100644
--- a/src/com/google/enterprise/adaptor/Watchdog.java
+++ b/src/com/google/enterprise/adaptor/Watchdog.java
@@ -14,7 +14,11 @@
 
 package com.google.enterprise.adaptor;
 
-import java.util.concurrent.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.Future;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
diff --git a/src/com/google/enterprise/adaptor/WrapperAdaptor.java b/src/com/google/enterprise/adaptor/WrapperAdaptor.java
index 04decfd..a2dab41 100644
--- a/src/com/google/enterprise/adaptor/WrapperAdaptor.java
+++ b/src/com/google/enterprise/adaptor/WrapperAdaptor.java
@@ -21,7 +21,12 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.net.URI;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
 
 /**
  * Wraps all methods of the provided Adaptor to allow modification of behavior
diff --git a/src/com/google/enterprise/adaptor/examples/AdaptorTemplate.java b/src/com/google/enterprise/adaptor/examples/AdaptorTemplate.java
index 5d3d3aa..ec705c0 100644
--- a/src/com/google/enterprise/adaptor/examples/AdaptorTemplate.java
+++ b/src/com/google/enterprise/adaptor/examples/AdaptorTemplate.java
@@ -20,9 +20,10 @@
 import com.google.enterprise.adaptor.Request;
 import com.google.enterprise.adaptor.Response;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.nio.charset.Charset;
-import java.util.*;
+import java.util.ArrayList;
 import java.util.logging.Logger;
 
 /**
diff --git a/src/com/google/enterprise/adaptor/examples/AdaptorWithCrawlTimeMetadataTemplate.java b/src/com/google/enterprise/adaptor/examples/AdaptorWithCrawlTimeMetadataTemplate.java
index 421e246..534e0c3 100644
--- a/src/com/google/enterprise/adaptor/examples/AdaptorWithCrawlTimeMetadataTemplate.java
+++ b/src/com/google/enterprise/adaptor/examples/AdaptorWithCrawlTimeMetadataTemplate.java
@@ -27,10 +27,16 @@
 import com.google.enterprise.adaptor.Response;
 import com.google.enterprise.adaptor.UserPrincipal;
 
-import java.io.*;
-import java.net.*;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.URI;
 import java.nio.charset.Charset;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.logging.Logger;
 
 /**
diff --git a/src/com/google/enterprise/adaptor/examples/DbAdaptorTemplate.java b/src/com/google/enterprise/adaptor/examples/DbAdaptorTemplate.java
index ed37c18..97d43ef 100644
--- a/src/com/google/enterprise/adaptor/examples/DbAdaptorTemplate.java
+++ b/src/com/google/enterprise/adaptor/examples/DbAdaptorTemplate.java
@@ -22,11 +22,17 @@
 import com.google.enterprise.adaptor.Request;
 import com.google.enterprise.adaptor.Response;
 
-import java.io.*;
+import java.io.IOException;
 import java.nio.charset.Charset;
-import java.sql.*;
-import java.util.*;
-import java.util.logging.*;
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.ArrayList;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * Demonstrates what code is necessary for putting DB
diff --git a/src/com/google/enterprise/adaptor/examples/FileSystemAdaptor.java b/src/com/google/enterprise/adaptor/examples/FileSystemAdaptor.java
index 1cfb92b..cca47c2 100644
--- a/src/com/google/enterprise/adaptor/examples/FileSystemAdaptor.java
+++ b/src/com/google/enterprise/adaptor/examples/FileSystemAdaptor.java
@@ -24,7 +24,11 @@
 import com.google.enterprise.adaptor.Response;
 import com.google.enterprise.adaptor.prebuilt.RecursiveFileIterator;
 
-import java.io.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.logging.Logger;
 
diff --git a/src/com/google/enterprise/adaptor/examples/GroupDefinitionsWriter.java b/src/com/google/enterprise/adaptor/examples/GroupDefinitionsWriter.java
index 8f6ecb4..6b3781a 100644
--- a/src/com/google/enterprise/adaptor/examples/GroupDefinitionsWriter.java
+++ b/src/com/google/enterprise/adaptor/examples/GroupDefinitionsWriter.java
@@ -24,7 +24,10 @@
 
 import java.io.IOException;
 import java.nio.charset.Charset;
-import java.util.*;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
 import java.util.logging.Logger;
 
 /** Demonstrates sending group definitions to GSA. */
diff --git a/src/com/google/enterprise/adaptor/examples/MetadataTransformExample.java b/src/com/google/enterprise/adaptor/examples/MetadataTransformExample.java
index 3630a79..7a38cce 100644
--- a/src/com/google/enterprise/adaptor/examples/MetadataTransformExample.java
+++ b/src/com/google/enterprise/adaptor/examples/MetadataTransformExample.java
@@ -17,8 +17,12 @@
 import com.google.enterprise.adaptor.DocumentTransform;
 import com.google.enterprise.adaptor.Metadata;
 
-import java.util.*;
-import java.util.logging.*;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * Example transform which will move values from one key to another.
diff --git a/src/com/google/enterprise/adaptor/experimental/Sim.java b/src/com/google/enterprise/adaptor/experimental/Sim.java
index 7c10817..8900c52 100644
--- a/src/com/google/enterprise/adaptor/experimental/Sim.java
+++ b/src/com/google/enterprise/adaptor/experimental/Sim.java
@@ -15,19 +15,39 @@
 
 import com.google.enterprise.adaptor.IOHelper;
 
-import com.sun.net.httpserver.*;
+import com.sun.net.httpserver.HttpExchange;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpServer;
 
-import org.apache.commons.fileupload.*;
+import org.apache.commons.fileupload.FileItemIterator;
+import org.apache.commons.fileupload.FileItemStream;
+import org.apache.commons.fileupload.FileUpload;
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.commons.fileupload.RequestContext;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
-import java.io.*;
-import java.net.*;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.HttpURLConnection;
+import java.net.InetSocketAddress;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.net.URLConnection;
 import java.nio.charset.Charset;
-import java.util.*;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.logging.Logger;
 import java.util.zip.GZIPInputStream;
 
diff --git a/src/com/google/enterprise/adaptor/prebuilt/Command.java b/src/com/google/enterprise/adaptor/prebuilt/Command.java
index 8b6dcef..7ba970a 100644
--- a/src/com/google/enterprise/adaptor/prebuilt/Command.java
+++ b/src/com/google/enterprise/adaptor/prebuilt/Command.java
@@ -14,7 +14,10 @@
 
 package com.google.enterprise.adaptor.prebuilt;
 
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.IOException;
 
 /**
  * Exec helper that allows easy handling of stdin, stdout, and stderr. Normally
diff --git a/src/com/google/enterprise/adaptor/prebuilt/CommandLineTransform.java b/src/com/google/enterprise/adaptor/prebuilt/CommandLineTransform.java
index 153740d..54eb66b 100644
--- a/src/com/google/enterprise/adaptor/prebuilt/CommandLineTransform.java
+++ b/src/com/google/enterprise/adaptor/prebuilt/CommandLineTransform.java
@@ -20,10 +20,20 @@
 import com.google.enterprise.adaptor.IOHelper;
 import com.google.enterprise.adaptor.Metadata;
 
-import java.io.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
 import java.nio.charset.Charset;
-import java.util.*;
-import java.util.logging.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * A conduit that allows a simple way to create a document transform based on
diff --git a/src/com/google/enterprise/adaptor/prebuilt/FileSystemAdaptor.java b/src/com/google/enterprise/adaptor/prebuilt/FileSystemAdaptor.java
index 8e3b04b..71ab809 100644
--- a/src/com/google/enterprise/adaptor/prebuilt/FileSystemAdaptor.java
+++ b/src/com/google/enterprise/adaptor/prebuilt/FileSystemAdaptor.java
@@ -23,10 +23,15 @@
 import com.google.enterprise.adaptor.Request;
 import com.google.enterprise.adaptor.Response;
 
-import java.io.*;
-import java.util.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.logging.Logger;
-import java.util.regex.*;
+import java.util.regex.Pattern;
 
 /**
  * Adaptor serving files from current directory
diff --git a/src/com/google/enterprise/adaptor/prebuilt/PrebuiltTransforms.java b/src/com/google/enterprise/adaptor/prebuilt/PrebuiltTransforms.java
index 54cfb91..02a6958 100644
--- a/src/com/google/enterprise/adaptor/prebuilt/PrebuiltTransforms.java
+++ b/src/com/google/enterprise/adaptor/prebuilt/PrebuiltTransforms.java
@@ -17,9 +17,20 @@
 import com.google.enterprise.adaptor.DocumentTransform;
 import com.google.enterprise.adaptor.Metadata;
 
-import java.util.*;
-import java.util.logging.*;
-import java.util.regex.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * Common transforms that you would expect to have available.
diff --git a/src/com/google/enterprise/adaptor/prebuilt/StreamingCommand.java b/src/com/google/enterprise/adaptor/prebuilt/StreamingCommand.java
index bc49e08..a631d43 100644
--- a/src/com/google/enterprise/adaptor/prebuilt/StreamingCommand.java
+++ b/src/com/google/enterprise/adaptor/prebuilt/StreamingCommand.java
@@ -16,7 +16,11 @@
 
 import com.google.enterprise.adaptor.IOHelper;
 
-import java.io.*;
+import java.io.Closeable;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 
 /**
  * Exec helper that allows easy handling of stdin, stdout, and stderr. Normally
diff --git a/test/com/google/enterprise/adaptor/AbortImmediatelyFilterTest.java b/test/com/google/enterprise/adaptor/AbortImmediatelyFilterTest.java
index 34467f0..faee715 100644
--- a/test/com/google/enterprise/adaptor/AbortImmediatelyFilterTest.java
+++ b/test/com/google/enterprise/adaptor/AbortImmediatelyFilterTest.java
@@ -14,13 +14,15 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 import com.sun.net.httpserver.Filter;
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.io.IOException;
diff --git a/test/com/google/enterprise/adaptor/AclTest.java b/test/com/google/enterprise/adaptor/AclTest.java
index 445d1cd..40a99ca 100644
--- a/test/com/google/enterprise/adaptor/AclTest.java
+++ b/test/com/google/enterprise/adaptor/AclTest.java
@@ -14,14 +14,28 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import com.google.common.collect.Sets;
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.io.IOException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
 
 /**
  * Test cases for {@link Acl}.
diff --git a/test/com/google/enterprise/adaptor/AclTransformTest.java b/test/com/google/enterprise/adaptor/AclTransformTest.java
index 73de819..e461740 100644
--- a/test/com/google/enterprise/adaptor/AclTransformTest.java
+++ b/test/com/google/enterprise/adaptor/AclTransformTest.java
@@ -14,14 +14,18 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
 
 import com.google.enterprise.adaptor.AclTransform.MatchData;
 import com.google.enterprise.adaptor.AclTransform.Rule;
 
 import org.junit.Test;
 
-import java.util.*;
+import java.util.Arrays;
+import java.util.List;
 
 /** Unit tests for {@link AclTransform}. */
 public class AclTransformTest {
diff --git a/test/com/google/enterprise/adaptor/AdministratorSecurityHandlerTest.java b/test/com/google/enterprise/adaptor/AdministratorSecurityHandlerTest.java
index 511f66e..2937d79 100644
--- a/test/com/google/enterprise/adaptor/AdministratorSecurityHandlerTest.java
+++ b/test/com/google/enterprise/adaptor/AdministratorSecurityHandlerTest.java
@@ -14,14 +14,16 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
 
 import org.junit.Test;
 
-import java.io.*;
+import java.io.IOException;
+import java.io.InputStream;
 
 /**
  * Tests for {@link AdministratorSecurityHandler}.
diff --git a/test/com/google/enterprise/adaptor/AsyncDocIdSenderTest.java b/test/com/google/enterprise/adaptor/AsyncDocIdSenderTest.java
index e15044a..e966f42 100644
--- a/test/com/google/enterprise/adaptor/AsyncDocIdSenderTest.java
+++ b/test/com/google/enterprise/adaptor/AsyncDocIdSenderTest.java
@@ -14,12 +14,16 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.util.*;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.concurrent.TimeUnit;
 
 /** Tests for {@link AsyncDocIdSender}. */
diff --git a/test/com/google/enterprise/adaptor/AuthnIdentityImplTest.java b/test/com/google/enterprise/adaptor/AuthnIdentityImplTest.java
index 8fa0c0e..e5da12c 100644
--- a/test/com/google/enterprise/adaptor/AuthnIdentityImplTest.java
+++ b/test/com/google/enterprise/adaptor/AuthnIdentityImplTest.java
@@ -14,12 +14,16 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.util.*;
+import java.util.Collections;
+import java.util.Set;
+import java.util.TreeSet;
 
 /**
  * Test cases for {@link AuthnIdentityImpl}.
diff --git a/test/com/google/enterprise/adaptor/BlockingQueueBatcherTest.java b/test/com/google/enterprise/adaptor/BlockingQueueBatcherTest.java
index 4dd0d1e..c7a7931 100644
--- a/test/com/google/enterprise/adaptor/BlockingQueueBatcherTest.java
+++ b/test/com/google/enterprise/adaptor/BlockingQueueBatcherTest.java
@@ -14,14 +14,24 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
-import org.junit.*;
+import org.junit.After;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicLong;
 
 /** Tests for {@link BlockingQueueBatcher}. */
 public class BlockingQueueBatcherTest {
diff --git a/test/com/google/enterprise/adaptor/ConfigTest.java b/test/com/google/enterprise/adaptor/ConfigTest.java
index d4bfe5f..bc9d5a6 100644
--- a/test/com/google/enterprise/adaptor/ConfigTest.java
+++ b/test/com/google/enterprise/adaptor/ConfigTest.java
@@ -14,13 +14,22 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.io.*;
-import java.util.*;
+import java.io.File;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Test cases for {@link Config}.
diff --git a/test/com/google/enterprise/adaptor/CronSchedulerTest.java b/test/com/google/enterprise/adaptor/CronSchedulerTest.java
index 68414a6..f834405 100644
--- a/test/com/google/enterprise/adaptor/CronSchedulerTest.java
+++ b/test/com/google/enterprise/adaptor/CronSchedulerTest.java
@@ -1,13 +1,25 @@
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.After;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.util.TimeZone;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.FutureTask;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.atomic.AtomicReference;
 
 /** Test cases for {@link CronScheduler}. */
 public class CronSchedulerTest {
diff --git a/test/com/google/enterprise/adaptor/DaemonTest.java b/test/com/google/enterprise/adaptor/DaemonTest.java
index a74f1ea..fb03e46 100644
--- a/test/com/google/enterprise/adaptor/DaemonTest.java
+++ b/test/com/google/enterprise/adaptor/DaemonTest.java
@@ -14,15 +14,20 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 import org.apache.commons.daemon.DaemonContext;
 import org.apache.commons.daemon.DaemonController;
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.io.*;
-import java.net.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLConnection;
 import java.nio.charset.Charset;
 
 /** Tests for {@link Daemon}. */
diff --git a/test/com/google/enterprise/adaptor/DashboardHandlerTest.java b/test/com/google/enterprise/adaptor/DashboardHandlerTest.java
index 99a68ee..4512def 100644
--- a/test/com/google/enterprise/adaptor/DashboardHandlerTest.java
+++ b/test/com/google/enterprise/adaptor/DashboardHandlerTest.java
@@ -14,7 +14,8 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
 
 import org.junit.Test;
 
diff --git a/test/com/google/enterprise/adaptor/DashboardTest.java b/test/com/google/enterprise/adaptor/DashboardTest.java
index 336edef..7ffa6ea 100644
--- a/test/com/google/enterprise/adaptor/DashboardTest.java
+++ b/test/com/google/enterprise/adaptor/DashboardTest.java
@@ -14,13 +14,21 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Test;
 
-import java.util.*;
-import java.util.concurrent.atomic.*;
-import java.util.logging.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicReference;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * Test cases for {@link Dashboard}.
diff --git a/test/com/google/enterprise/adaptor/DocIdCodecTest.java b/test/com/google/enterprise/adaptor/DocIdCodecTest.java
index 08622cf..b8e27a7 100644
--- a/test/com/google/enterprise/adaptor/DocIdCodecTest.java
+++ b/test/com/google/enterprise/adaptor/DocIdCodecTest.java
@@ -14,11 +14,13 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Test;
 
-import java.net.*;
+import java.net.URI;
 
 /**
  * Test cases for {@link DocIdCodec}.
diff --git a/test/com/google/enterprise/adaptor/DocIdSenderTest.java b/test/com/google/enterprise/adaptor/DocIdSenderTest.java
index 75f49dd..b219a44 100644
--- a/test/com/google/enterprise/adaptor/DocIdSenderTest.java
+++ b/test/com/google/enterprise/adaptor/DocIdSenderTest.java
@@ -14,14 +14,24 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.io.IOException;
 import java.nio.charset.Charset;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
 import java.util.AbstractMap.SimpleImmutableEntry;
 import java.util.concurrent.atomic.AtomicLong;
 
diff --git a/test/com/google/enterprise/adaptor/DocIdTest.java b/test/com/google/enterprise/adaptor/DocIdTest.java
index 099ffdd..480117b 100644
--- a/test/com/google/enterprise/adaptor/DocIdTest.java
+++ b/test/com/google/enterprise/adaptor/DocIdTest.java
@@ -14,9 +14,12 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 /**
diff --git a/test/com/google/enterprise/adaptor/DocumentHandlerTest.java b/test/com/google/enterprise/adaptor/DocumentHandlerTest.java
index d7f6273..a30e72f 100644
--- a/test/com/google/enterprise/adaptor/DocumentHandlerTest.java
+++ b/test/com/google/enterprise/adaptor/DocumentHandlerTest.java
@@ -14,19 +14,33 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.io.*;
+import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.util.*;
-import java.util.concurrent.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.atomic.AtomicReference;
 
 import javax.security.auth.kerberos.KerberosPrincipal;
diff --git a/test/com/google/enterprise/adaptor/DownloadDumpHandlerTest.java b/test/com/google/enterprise/adaptor/DownloadDumpHandlerTest.java
index 00167c6..af54f48 100644
--- a/test/com/google/enterprise/adaptor/DownloadDumpHandlerTest.java
+++ b/test/com/google/enterprise/adaptor/DownloadDumpHandlerTest.java
@@ -14,7 +14,8 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/test/com/google/enterprise/adaptor/ExceptionHandlersTest.java b/test/com/google/enterprise/adaptor/ExceptionHandlersTest.java
index 72fad80..807c881 100644
--- a/test/com/google/enterprise/adaptor/ExceptionHandlersTest.java
+++ b/test/com/google/enterprise/adaptor/ExceptionHandlersTest.java
@@ -14,7 +14,8 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 
 import org.junit.Test;
 
diff --git a/test/com/google/enterprise/adaptor/FastFilterOutputStreamTest.java b/test/com/google/enterprise/adaptor/FastFilterOutputStreamTest.java
index 7986d5f..1d8bb0f 100644
--- a/test/com/google/enterprise/adaptor/FastFilterOutputStreamTest.java
+++ b/test/com/google/enterprise/adaptor/FastFilterOutputStreamTest.java
@@ -14,12 +14,16 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.io.*;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
diff --git a/test/com/google/enterprise/adaptor/GsaCommunicationHandlerTest.java b/test/com/google/enterprise/adaptor/GsaCommunicationHandlerTest.java
index 5e5b239..b72878d 100644
--- a/test/com/google/enterprise/adaptor/GsaCommunicationHandlerTest.java
+++ b/test/com/google/enterprise/adaptor/GsaCommunicationHandlerTest.java
@@ -14,19 +14,31 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
 
-import org.junit.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.io.*;
-import java.net.*;
+import java.io.IOException;
 import java.nio.charset.Charset;
-import java.util.*;
-import java.util.concurrent.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
 
diff --git a/test/com/google/enterprise/adaptor/GsaFeedFileMakerTest.java b/test/com/google/enterprise/adaptor/GsaFeedFileMakerTest.java
index 79d63dc..060429e 100644
--- a/test/com/google/enterprise/adaptor/GsaFeedFileMakerTest.java
+++ b/test/com/google/enterprise/adaptor/GsaFeedFileMakerTest.java
@@ -14,13 +14,19 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.net.URI;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
 
 /** Tests for {@link GsaFeedFileMaker}. */
 public class GsaFeedFileMakerTest {
diff --git a/test/com/google/enterprise/adaptor/GsaFeedFileSenderTest.java b/test/com/google/enterprise/adaptor/GsaFeedFileSenderTest.java
index 0529aee..f0ced70 100644
--- a/test/com/google/enterprise/adaptor/GsaFeedFileSenderTest.java
+++ b/test/com/google/enterprise/adaptor/GsaFeedFileSenderTest.java
@@ -14,7 +14,7 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
@@ -22,11 +22,18 @@
 import com.sun.net.httpserver.HttpsConfigurator;
 import com.sun.net.httpserver.HttpsServer;
 
-import org.junit.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.io.*;
-import java.net.*;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.InetSocketAddress;
+import java.net.URI;
+import java.net.URL;
 import java.nio.charset.Charset;
 import java.util.zip.GZIPInputStream;
 
diff --git a/test/com/google/enterprise/adaptor/GsaVersionTest.java b/test/com/google/enterprise/adaptor/GsaVersionTest.java
index 7e24e3f..cb6b948 100644
--- a/test/com/google/enterprise/adaptor/GsaVersionTest.java
+++ b/test/com/google/enterprise/adaptor/GsaVersionTest.java
@@ -14,9 +14,11 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 /** Tests for {@link GsaVersion}. */
diff --git a/test/com/google/enterprise/adaptor/HttpExchangeInTransportAdapterTest.java b/test/com/google/enterprise/adaptor/HttpExchangeInTransportAdapterTest.java
index d072ce0..dec53d5 100644
--- a/test/com/google/enterprise/adaptor/HttpExchangeInTransportAdapterTest.java
+++ b/test/com/google/enterprise/adaptor/HttpExchangeInTransportAdapterTest.java
@@ -14,9 +14,12 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.util.Arrays;
diff --git a/test/com/google/enterprise/adaptor/HttpExchangeOutTransportAdapterTest.java b/test/com/google/enterprise/adaptor/HttpExchangeOutTransportAdapterTest.java
index e835125..a5f995e 100644
--- a/test/com/google/enterprise/adaptor/HttpExchangeOutTransportAdapterTest.java
+++ b/test/com/google/enterprise/adaptor/HttpExchangeOutTransportAdapterTest.java
@@ -14,9 +14,8 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
-
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 /**
diff --git a/test/com/google/enterprise/adaptor/HttpExchangesTest.java b/test/com/google/enterprise/adaptor/HttpExchangesTest.java
index 060df8f..3361600 100644
--- a/test/com/google/enterprise/adaptor/HttpExchangesTest.java
+++ b/test/com/google/enterprise/adaptor/HttpExchangesTest.java
@@ -14,9 +14,9 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
-
-import com.sun.net.httpserver.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 
 import org.junit.Test;
 
diff --git a/test/com/google/enterprise/adaptor/IOHelperTest.java b/test/com/google/enterprise/adaptor/IOHelperTest.java
index f68c8d9..4e102f7 100644
--- a/test/com/google/enterprise/adaptor/IOHelperTest.java
+++ b/test/com/google/enterprise/adaptor/IOHelperTest.java
@@ -14,7 +14,7 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import org.junit.Test;
 
diff --git a/test/com/google/enterprise/adaptor/InternalErrorFilterTest.java b/test/com/google/enterprise/adaptor/InternalErrorFilterTest.java
index eba75f4..aa55a22 100644
--- a/test/com/google/enterprise/adaptor/InternalErrorFilterTest.java
+++ b/test/com/google/enterprise/adaptor/InternalErrorFilterTest.java
@@ -14,13 +14,15 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 import com.sun.net.httpserver.Filter;
 import com.sun.net.httpserver.HttpExchange;
 import com.sun.net.httpserver.HttpHandler;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.io.IOException;
diff --git a/test/com/google/enterprise/adaptor/JournalTest.java b/test/com/google/enterprise/adaptor/JournalTest.java
index 8f449e2..59ba5d4 100644
--- a/test/com/google/enterprise/adaptor/JournalTest.java
+++ b/test/com/google/enterprise/adaptor/JournalTest.java
@@ -14,9 +14,12 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.util.ArrayList;
diff --git a/test/com/google/enterprise/adaptor/LoggingFilterTest.java b/test/com/google/enterprise/adaptor/LoggingFilterTest.java
index 33fce89..90c2342 100644
--- a/test/com/google/enterprise/adaptor/LoggingFilterTest.java
+++ b/test/com/google/enterprise/adaptor/LoggingFilterTest.java
@@ -14,7 +14,9 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertSame;
 
 import com.sun.net.httpserver.Filter;
 import com.sun.net.httpserver.Headers;
diff --git a/test/com/google/enterprise/adaptor/MetadataTest.java b/test/com/google/enterprise/adaptor/MetadataTest.java
index fd3fcea..1a82b36 100644
--- a/test/com/google/enterprise/adaptor/MetadataTest.java
+++ b/test/com/google/enterprise/adaptor/MetadataTest.java
@@ -17,9 +17,12 @@
 import static java.util.AbstractMap.SimpleEntry;
 import static java.util.Map.Entry;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.util.Arrays;
diff --git a/test/com/google/enterprise/adaptor/MockAdaptor.java b/test/com/google/enterprise/adaptor/MockAdaptor.java
index 1e15c4a..5ea849c 100644
--- a/test/com/google/enterprise/adaptor/MockAdaptor.java
+++ b/test/com/google/enterprise/adaptor/MockAdaptor.java
@@ -15,7 +15,10 @@
 package com.google.enterprise.adaptor;
 
 import java.io.IOException;
-import java.util.*;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Mock of {@link Adaptor}. All documents authz as PERMIT.
diff --git a/test/com/google/enterprise/adaptor/MockConfig.java b/test/com/google/enterprise/adaptor/MockConfig.java
index 7c954d0..09a1761 100644
--- a/test/com/google/enterprise/adaptor/MockConfig.java
+++ b/test/com/google/enterprise/adaptor/MockConfig.java
@@ -14,8 +14,10 @@
 
 package com.google.enterprise.adaptor;
 
-import java.io.*;
-import java.util.*;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.Properties;
+import java.util.Set;
 
 /**
  * Mock of {@link Config}.
diff --git a/test/com/google/enterprise/adaptor/MockFile.java b/test/com/google/enterprise/adaptor/MockFile.java
index 4c9d246..abb75db 100644
--- a/test/com/google/enterprise/adaptor/MockFile.java
+++ b/test/com/google/enterprise/adaptor/MockFile.java
@@ -14,7 +14,11 @@
 
 package com.google.enterprise.adaptor;
 
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.File;
+import java.io.Reader;
+import java.io.StringReader;
 import java.nio.charset.Charset;
 import java.util.Arrays;
 
diff --git a/test/com/google/enterprise/adaptor/MockHttpClient.java b/test/com/google/enterprise/adaptor/MockHttpClient.java
index b5cd289..08e0a43 100644
--- a/test/com/google/enterprise/adaptor/MockHttpClient.java
+++ b/test/com/google/enterprise/adaptor/MockHttpClient.java
@@ -20,10 +20,15 @@
 
 import com.sun.net.httpserver.Headers;
 
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
 import java.net.URL;
 import java.nio.charset.Charset;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Mock {@link HttpClientInterface}.
diff --git a/test/com/google/enterprise/adaptor/MockHttpContext.java b/test/com/google/enterprise/adaptor/MockHttpContext.java
index 3675a71..dcaa484 100644
--- a/test/com/google/enterprise/adaptor/MockHttpContext.java
+++ b/test/com/google/enterprise/adaptor/MockHttpContext.java
@@ -14,9 +14,16 @@
 
 package com.google.enterprise.adaptor;
 
-import com.sun.net.httpserver.*;
+import com.sun.net.httpserver.Authenticator;
+import com.sun.net.httpserver.Filter;
+import com.sun.net.httpserver.HttpContext;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpServer;
 
-import java.util.*;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.concurrent.CopyOnWriteArrayList;
 
 /**
diff --git a/test/com/google/enterprise/adaptor/MockHttpExchange.java b/test/com/google/enterprise/adaptor/MockHttpExchange.java
index f385aaf..899ee14 100644
--- a/test/com/google/enterprise/adaptor/MockHttpExchange.java
+++ b/test/com/google/enterprise/adaptor/MockHttpExchange.java
@@ -14,11 +14,24 @@
 
 package com.google.enterprise.adaptor;
 
-import com.sun.net.httpserver.*;
+import com.sun.net.httpserver.Filter;
+import com.sun.net.httpserver.Headers;
+import com.sun.net.httpserver.HttpContext;
+import com.sun.net.httpserver.HttpExchange;
+import com.sun.net.httpserver.HttpPrincipal;
 
-import java.io.*;
-import java.net.*;
-import java.util.*;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.UnknownHostException;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Mock {@link HttpExchange} for testing.
diff --git a/test/com/google/enterprise/adaptor/MockHttpHandler.java b/test/com/google/enterprise/adaptor/MockHttpHandler.java
index c338824..8da3859 100644
--- a/test/com/google/enterprise/adaptor/MockHttpHandler.java
+++ b/test/com/google/enterprise/adaptor/MockHttpHandler.java
@@ -20,7 +20,9 @@
 
 import java.io.IOException;
 import java.net.URI;
-import java.util.*;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
 
 /**
  * Mock {@link HttpHandler}.
diff --git a/test/com/google/enterprise/adaptor/MockHttpServer.java b/test/com/google/enterprise/adaptor/MockHttpServer.java
index 4e91988..273dc9d 100644
--- a/test/com/google/enterprise/adaptor/MockHttpServer.java
+++ b/test/com/google/enterprise/adaptor/MockHttpServer.java
@@ -14,11 +14,17 @@
 
 package com.google.enterprise.adaptor;
 
-import com.sun.net.httpserver.*;
+import com.sun.net.httpserver.Filter;
+import com.sun.net.httpserver.HttpContext;
+import com.sun.net.httpserver.HttpExchange;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpServer;
 
 import java.io.IOException;
 import java.net.InetSocketAddress;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
 import java.util.concurrent.Executor;
 
 /**
diff --git a/test/com/google/enterprise/adaptor/MockHttpsContext.java b/test/com/google/enterprise/adaptor/MockHttpsContext.java
index a435d1a..7642968 100644
--- a/test/com/google/enterprise/adaptor/MockHttpsContext.java
+++ b/test/com/google/enterprise/adaptor/MockHttpsContext.java
@@ -14,7 +14,8 @@
 
 package com.google.enterprise.adaptor;
 
-import com.sun.net.httpserver.*;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpServer;
 
 /**
  * Mock {@link HttpContext}.
diff --git a/test/com/google/enterprise/adaptor/MockHttpsExchange.java b/test/com/google/enterprise/adaptor/MockHttpsExchange.java
index 7056db0..0b43c69 100644
--- a/test/com/google/enterprise/adaptor/MockHttpsExchange.java
+++ b/test/com/google/enterprise/adaptor/MockHttpsExchange.java
@@ -14,11 +14,15 @@
 
 package com.google.enterprise.adaptor;
 
-import com.sun.net.httpserver.*;
+import com.sun.net.httpserver.Headers;
+import com.sun.net.httpserver.HttpContext;
+import com.sun.net.httpserver.HttpPrincipal;
+import com.sun.net.httpserver.HttpsExchange;
 
-import java.io.*;
-import java.net.*;
-import java.util.*;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetSocketAddress;
+import java.net.URI;
 
 import javax.net.ssl.SSLSession;
 
diff --git a/test/com/google/enterprise/adaptor/MockHttpsServer.java b/test/com/google/enterprise/adaptor/MockHttpsServer.java
index fa051a1..afe4de0 100644
--- a/test/com/google/enterprise/adaptor/MockHttpsServer.java
+++ b/test/com/google/enterprise/adaptor/MockHttpsServer.java
@@ -14,7 +14,10 @@
 
 package com.google.enterprise.adaptor;
 
-import com.sun.net.httpserver.*;
+import com.sun.net.httpserver.HttpContext;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpsConfigurator;
+import com.sun.net.httpserver.HttpsServer;
 
 import java.net.InetSocketAddress;
 import java.util.concurrent.Executor;
diff --git a/test/com/google/enterprise/adaptor/MockWatchdog.java b/test/com/google/enterprise/adaptor/MockWatchdog.java
index a46153e..d0aa1b0 100644
--- a/test/com/google/enterprise/adaptor/MockWatchdog.java
+++ b/test/com/google/enterprise/adaptor/MockWatchdog.java
@@ -16,7 +16,8 @@
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 
-import java.util.concurrent.*;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
 
 /** Empty watchdog implementation that never interrupts other threads. */
 class MockWatchdog extends Watchdog {
diff --git a/test/com/google/enterprise/adaptor/NamespacedSessionTest.java b/test/com/google/enterprise/adaptor/NamespacedSessionTest.java
index d237520..a315713 100644
--- a/test/com/google/enterprise/adaptor/NamespacedSessionTest.java
+++ b/test/com/google/enterprise/adaptor/NamespacedSessionTest.java
@@ -14,9 +14,11 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 /** Test cases for {@link NampespacedSession}. */
diff --git a/test/com/google/enterprise/adaptor/OneAtATimeRunnableTest.java b/test/com/google/enterprise/adaptor/OneAtATimeRunnableTest.java
index 7b42adc..947fa65 100644
--- a/test/com/google/enterprise/adaptor/OneAtATimeRunnableTest.java
+++ b/test/com/google/enterprise/adaptor/OneAtATimeRunnableTest.java
@@ -14,7 +14,10 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
 
 import org.junit.Test;
 
diff --git a/test/com/google/enterprise/adaptor/PrincipalTest.java b/test/com/google/enterprise/adaptor/PrincipalTest.java
index a55eb9f..4c976fc 100644
--- a/test/com/google/enterprise/adaptor/PrincipalTest.java
+++ b/test/com/google/enterprise/adaptor/PrincipalTest.java
@@ -14,15 +14,24 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import com.google.enterprise.adaptor.Principal.DomainFormat;
 import com.google.enterprise.adaptor.Principal.ParsedPrincipal;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 
 /**
  * Test cases for {@link Principal}.
diff --git a/test/com/google/enterprise/adaptor/PrivateMockAdaptor.java b/test/com/google/enterprise/adaptor/PrivateMockAdaptor.java
index 518d254..f20d30c 100644
--- a/test/com/google/enterprise/adaptor/PrivateMockAdaptor.java
+++ b/test/com/google/enterprise/adaptor/PrivateMockAdaptor.java
@@ -14,7 +14,10 @@
 
 package com.google.enterprise.adaptor;
 
-import java.util.*;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Mock of {@link Adaptor} that denies all users.
diff --git a/test/com/google/enterprise/adaptor/RecordTest.java b/test/com/google/enterprise/adaptor/RecordTest.java
index 8069e38..54ef8f2 100644
--- a/test/com/google/enterprise/adaptor/RecordTest.java
+++ b/test/com/google/enterprise/adaptor/RecordTest.java
@@ -14,9 +14,11 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.net.URI;
diff --git a/test/com/google/enterprise/adaptor/ReverseProxyHandlerTest.java b/test/com/google/enterprise/adaptor/ReverseProxyHandlerTest.java
index 5ca5581..a776efa 100644
--- a/test/com/google/enterprise/adaptor/ReverseProxyHandlerTest.java
+++ b/test/com/google/enterprise/adaptor/ReverseProxyHandlerTest.java
@@ -14,7 +14,10 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import com.google.common.base.Objects;
 import com.sun.net.httpserver.Headers;
@@ -22,12 +25,22 @@
 import com.sun.net.httpserver.HttpHandler;
 import com.sun.net.httpserver.HttpServer;
 
-import org.junit.*;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 
-import java.io.*;
-import java.net.*;
+import java.io.IOException;
+import java.net.Authenticator;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.PasswordAuthentication;
+import java.net.URI;
 import java.nio.charset.Charset;
-import java.util.*;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
 
 /** Unit tests for {@link ReverseProxyHandler}. */
 public class ReverseProxyHandlerTest {
diff --git a/test/com/google/enterprise/adaptor/RpcHandlerTest.java b/test/com/google/enterprise/adaptor/RpcHandlerTest.java
index 16dfe78..7afa9d9 100644
--- a/test/com/google/enterprise/adaptor/RpcHandlerTest.java
+++ b/test/com/google/enterprise/adaptor/RpcHandlerTest.java
@@ -14,17 +14,23 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 
 import com.sun.net.httpserver.HttpExchange;
 
 import org.json.simple.JSONObject;
 import org.json.simple.JSONValue;
 
-import org.junit.*;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
 import java.nio.charset.Charset;
 import java.util.List;
 
diff --git a/test/com/google/enterprise/adaptor/SamlBatchAuthzHandlerTest.java b/test/com/google/enterprise/adaptor/SamlBatchAuthzHandlerTest.java
index 57ecd21..3a98cc0 100644
--- a/test/com/google/enterprise/adaptor/SamlBatchAuthzHandlerTest.java
+++ b/test/com/google/enterprise/adaptor/SamlBatchAuthzHandlerTest.java
@@ -14,13 +14,17 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
-import org.junit.*;
+import org.junit.BeforeClass;
+import org.junit.Test;
 
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
 import java.nio.charset.Charset;
-import java.util.*;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
 
 /**
  * Test cases for {@link SamlBatchAuthzHandler}.
diff --git a/test/com/google/enterprise/adaptor/SamlIdentityProviderTest.java b/test/com/google/enterprise/adaptor/SamlIdentityProviderTest.java
index 56d0bcb..188a103 100644
--- a/test/com/google/enterprise/adaptor/SamlIdentityProviderTest.java
+++ b/test/com/google/enterprise/adaptor/SamlIdentityProviderTest.java
@@ -14,15 +14,19 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
 import com.sun.net.httpserver.HttpExchange;
 
-import org.junit.*;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.io.IOException;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
diff --git a/test/com/google/enterprise/adaptor/SamlServiceProviderTest.java b/test/com/google/enterprise/adaptor/SamlServiceProviderTest.java
index 6b8e93a..bdc2aaf 100644
--- a/test/com/google/enterprise/adaptor/SamlServiceProviderTest.java
+++ b/test/com/google/enterprise/adaptor/SamlServiceProviderTest.java
@@ -14,7 +14,10 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import com.google.enterprise.adaptor.SamlServiceProvider.AuthnState;
 import com.google.enterprise.adaptor.secmgr.http.HttpClientInterface;
@@ -23,7 +26,9 @@
 
 import com.sun.net.httpserver.HttpExchange;
 
-import org.junit.*;
+import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import org.opensaml.common.binding.SAMLMessageContext;
@@ -36,7 +41,13 @@
 import java.io.IOException;
 import java.net.URI;
 import java.nio.charset.Charset;
-import java.util.*;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * Test cases for {@link SamlServiceProvider}.
diff --git a/test/com/google/enterprise/adaptor/SensitiveValueCodecTest.java b/test/com/google/enterprise/adaptor/SensitiveValueCodecTest.java
index c57d36f..9483166 100644
--- a/test/com/google/enterprise/adaptor/SensitiveValueCodecTest.java
+++ b/test/com/google/enterprise/adaptor/SensitiveValueCodecTest.java
@@ -16,12 +16,16 @@
 
 import static com.google.enterprise.adaptor.SensitiveValueCodec.SecurityLevel;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.security.*;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
 
 import javax.crypto.Cipher;
 
diff --git a/test/com/google/enterprise/adaptor/SessionManagerTest.java b/test/com/google/enterprise/adaptor/SessionManagerTest.java
index a659fe0..babd485 100644
--- a/test/com/google/enterprise/adaptor/SessionManagerTest.java
+++ b/test/com/google/enterprise/adaptor/SessionManagerTest.java
@@ -14,11 +14,16 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
 
 import com.sun.net.httpserver.HttpExchange;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 /**
diff --git a/test/com/google/enterprise/adaptor/ShutdownWaiterTest.java b/test/com/google/enterprise/adaptor/ShutdownWaiterTest.java
index f40890e..38327e5 100644
--- a/test/com/google/enterprise/adaptor/ShutdownWaiterTest.java
+++ b/test/com/google/enterprise/adaptor/ShutdownWaiterTest.java
@@ -14,9 +14,11 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.util.concurrent.CountDownLatch;
diff --git a/test/com/google/enterprise/adaptor/SleepHandlerTest.java b/test/com/google/enterprise/adaptor/SleepHandlerTest.java
index bca1395..95a6531 100644
--- a/test/com/google/enterprise/adaptor/SleepHandlerTest.java
+++ b/test/com/google/enterprise/adaptor/SleepHandlerTest.java
@@ -14,7 +14,7 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import org.junit.Test;
 
diff --git a/test/com/google/enterprise/adaptor/StatRpcMethodTest.java b/test/com/google/enterprise/adaptor/StatRpcMethodTest.java
index d9fbe12..0edc032 100644
--- a/test/com/google/enterprise/adaptor/StatRpcMethodTest.java
+++ b/test/com/google/enterprise/adaptor/StatRpcMethodTest.java
@@ -14,11 +14,16 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import org.junit.Test;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
 
 /**
  * Tests for {@link StatRpcMethod}.
diff --git a/test/com/google/enterprise/adaptor/TestHelper.java b/test/com/google/enterprise/adaptor/TestHelper.java
index 2be2113..af06211 100644
--- a/test/com/google/enterprise/adaptor/TestHelper.java
+++ b/test/com/google/enterprise/adaptor/TestHelper.java
@@ -14,9 +14,11 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assume.*;
+import static org.junit.Assume.assumeTrue;
 
-import java.io.*;
+import java.io.ByteArrayOutputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
diff --git a/test/com/google/enterprise/adaptor/TransformPipelineTest.java b/test/com/google/enterprise/adaptor/TransformPipelineTest.java
index f9dd295..39c40dd 100644
--- a/test/com/google/enterprise/adaptor/TransformPipelineTest.java
+++ b/test/com/google/enterprise/adaptor/TransformPipelineTest.java
@@ -14,13 +14,19 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.io.IOException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
 
 /**
  * Tests for {@link TransformPipeline}.
diff --git a/test/com/google/enterprise/adaptor/WatchdogTest.java b/test/com/google/enterprise/adaptor/WatchdogTest.java
index bf2629c..fb31b18 100644
--- a/test/com/google/enterprise/adaptor/WatchdogTest.java
+++ b/test/com/google/enterprise/adaptor/WatchdogTest.java
@@ -14,12 +14,15 @@
 
 package com.google.enterprise.adaptor;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.After;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.util.concurrent.*;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
diff --git a/test/com/google/enterprise/adaptor/examples/MetadataTransformExampleTest.java b/test/com/google/enterprise/adaptor/examples/MetadataTransformExampleTest.java
index 5e11604..5eecef7 100644
--- a/test/com/google/enterprise/adaptor/examples/MetadataTransformExampleTest.java
+++ b/test/com/google/enterprise/adaptor/examples/MetadataTransformExampleTest.java
@@ -14,15 +14,17 @@
 
 package com.google.enterprise.adaptor.examples;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import com.google.enterprise.adaptor.DocumentTransform;
 import com.google.enterprise.adaptor.Metadata;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.util.*;
+import java.util.HashMap;
+import java.util.Map;
 
 /** Unit tests for {@link MetadataTransformExample}. */
 public class MetadataTransformExampleTest {
diff --git a/test/com/google/enterprise/adaptor/experimental/SimTest.java b/test/com/google/enterprise/adaptor/experimental/SimTest.java
index 0cdeea7..04ef895 100644
--- a/test/com/google/enterprise/adaptor/experimental/SimTest.java
+++ b/test/com/google/enterprise/adaptor/experimental/SimTest.java
@@ -13,12 +13,15 @@
 // limitations under the License.
 package com.google.enterprise.adaptor.experimental;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.io.*;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
 import java.net.URL;
 import java.util.Set;
 
diff --git a/test/com/google/enterprise/adaptor/prebuilt/CommandLineTransformTest.java b/test/com/google/enterprise/adaptor/prebuilt/CommandLineTransformTest.java
index 9979508..a5f9c34 100644
--- a/test/com/google/enterprise/adaptor/prebuilt/CommandLineTransformTest.java
+++ b/test/com/google/enterprise/adaptor/prebuilt/CommandLineTransformTest.java
@@ -14,7 +14,7 @@
 
 package com.google.enterprise.adaptor.prebuilt;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import com.google.enterprise.adaptor.Metadata;
 import com.google.enterprise.adaptor.TestHelper;
@@ -23,7 +23,9 @@
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
-import java.util.*;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
 
 /**
  * Tests for {@link CommandLineTransform}.
diff --git a/test/com/google/enterprise/adaptor/prebuilt/CommandTest.java b/test/com/google/enterprise/adaptor/prebuilt/CommandTest.java
index d964ae5..8962fc5 100644
--- a/test/com/google/enterprise/adaptor/prebuilt/CommandTest.java
+++ b/test/com/google/enterprise/adaptor/prebuilt/CommandTest.java
@@ -14,11 +14,12 @@
 
 package com.google.enterprise.adaptor.prebuilt;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import com.google.enterprise.adaptor.TestHelper;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 /**
diff --git a/test/com/google/enterprise/adaptor/prebuilt/PrebuiltTransformsTest.java b/test/com/google/enterprise/adaptor/prebuilt/PrebuiltTransformsTest.java
index 4fcb69d..8f73211 100644
--- a/test/com/google/enterprise/adaptor/prebuilt/PrebuiltTransformsTest.java
+++ b/test/com/google/enterprise/adaptor/prebuilt/PrebuiltTransformsTest.java
@@ -14,15 +14,18 @@
 
 package com.google.enterprise.adaptor.prebuilt;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import com.google.enterprise.adaptor.DocumentTransform;
 import com.google.enterprise.adaptor.Metadata;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import java.util.*;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
 
 /** Unit tests for {@link PrebuiltTransfors}. */
 public class PrebuiltTransformsTest {
diff --git a/test/com/google/enterprise/adaptor/prebuilt/RecursiveFileIteratorTest.java b/test/com/google/enterprise/adaptor/prebuilt/RecursiveFileIteratorTest.java
index d3065eb..7a90569 100644
--- a/test/com/google/enterprise/adaptor/prebuilt/RecursiveFileIteratorTest.java
+++ b/test/com/google/enterprise/adaptor/prebuilt/RecursiveFileIteratorTest.java
@@ -14,9 +14,12 @@
 
 package com.google.enterprise.adaptor.prebuilt;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import org.junit.*;
+import org.junit.Rule;
+import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.io.File;
diff --git a/test/com/google/enterprise/adaptor/prebuilt/StreamingCommandTest.java b/test/com/google/enterprise/adaptor/prebuilt/StreamingCommandTest.java
index 55eadcc..ea5e93a 100644
--- a/test/com/google/enterprise/adaptor/prebuilt/StreamingCommandTest.java
+++ b/test/com/google/enterprise/adaptor/prebuilt/StreamingCommandTest.java
@@ -14,7 +14,7 @@
 
 package com.google.enterprise.adaptor.prebuilt;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
 
 import com.google.enterprise.adaptor.TestHelper;