diff --git a/src/test/java/test/dependent/DepBugSampleTest.java b/src/test/java/test/dependent/DepBugSampleTest.java
index febbc2e..ebbadef 100644
--- a/src/test/java/test/dependent/DepBugSampleTest.java
+++ b/src/test/java/test/dependent/DepBugSampleTest.java
@@ -43,7 +43,4 @@
     log("send");
   }
 
-  public void list() throws Exception {
-    log("list");
-  }
 }
diff --git a/src/test/java/test/dependent/DepBugVerifyTest.java b/src/test/java/test/dependent/DepBugVerifyTest.java
index 30bc829..0c42a3d 100644
--- a/src/test/java/test/dependent/DepBugVerifyTest.java
+++ b/src/test/java/test/dependent/DepBugVerifyTest.java
@@ -11,7 +11,7 @@
   public void verify() {
     List<String> log = DepBugSampleTest.getLog();
     String[] expected = new String[] {
-      "setup", "send", "get", "list", "destroy"
+      "setup", "send", "get", "destroy"
     };
     for (int i = 0; i < log.size(); i++) {
       Assert.assertEquals(expected[i], log.get(i));
diff --git a/src/test/java/test/dependent/GroupByInstancesSampleTest.java b/src/test/java/test/dependent/GroupByInstancesSampleTest.java
index 2a38b5b..a0c9e68 100644
--- a/src/test/java/test/dependent/GroupByInstancesSampleTest.java
+++ b/src/test/java/test/dependent/GroupByInstancesSampleTest.java
@@ -12,7 +12,7 @@
   public static List<String> m_log = Lists.newArrayList();
 
   private static void log(String method, String country) {
-    System.out.println("LOG:" + method + "#" + country);
+    System.out.println("LOG:" + method + "#" + country + " " + Thread.currentThread().getId());
     m_log.add(method + "#" + country);
   }
 
diff --git a/src/test/java/test/factory/FactoryOrderSampleTest.java b/src/test/java/test/factory/FactoryOrderSampleTest.java
index 4404329..8839832 100644
--- a/src/test/java/test/factory/FactoryOrderSampleTest.java
+++ b/src/test/java/test/factory/FactoryOrderSampleTest.java
@@ -14,7 +14,7 @@
   }
 
   private void log(String string) {
-    System.out.println(string);
+//    System.out.println("[FactoryOrderSampleTest] " + string);
   }
 
   @BeforeClass(groups = { "s1ds" })
diff --git a/src/test/java/test/thread/BaseSequentialSample.java b/src/test/java/test/thread/BaseSequentialSample.java
index dcc6518..53bdb14 100644
--- a/src/test/java/test/thread/BaseSequentialSample.java
+++ b/src/test/java/test/thread/BaseSequentialSample.java
@@ -17,7 +17,7 @@
   }
 
   protected void ppp(String s) {
-    if (true) {
+    if (false) {
       System.out.println("[" + getClass().getName() + " "
           + Thread.currentThread().getId() + " "
           + "] " + s);
