Index: dso-l1/src/com/tc/object/bytecode/JavaUtilConcurrentHashMapSegmentAdapter.java
===================================================================
--- dso-l1/src/com/tc/object/bytecode/JavaUtilConcurrentHashMapSegmentAdapter.java	(revision 5654)
+++ dso-l1/src/com/tc/object/bytecode/JavaUtilConcurrentHashMapSegmentAdapter.java	(working copy)
@@ -35,6 +35,14 @@
     super(cv);
   }
 
+  public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
+    super.visit(version, access, name, signature, "java/lang/Object", new String[] { "com/tc/util/concurrent/locks/TCLock", "java/util/concurrent/locks/Lock", "java/io/Serializable" });
+//	comment the line above and uncomment the code line below,
+//  recompile and generate a new bootjar,
+//  you'll see the debug printlns in the method stubs that were added
+//    super.visit(version, access, name, signature, "java/util/concurrent/locks/ReentrantLock", new String[] { "com/tc/util/concurrent/locks/TCLock", "java/io/Serializable" });
+  }
+
   public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
     if (("get".equals(name) && "(Ljava/lang/Object;I)Ljava/lang/Object;".equals(desc)) ||
         ("containsKey".equals(name) && "(Ljava/lang/Object;I)Z".equals(desc))) {
@@ -141,6 +149,102 @@
     createInitTableMethod();
     createTCPutMethod();
     createTCClearMethod();
+
+    MethodVisitor mv;
+    ClassVisitor cw = this;
+    
+    // methods of Lock
+
+
+    {
+      mv = cw.visitMethod(ACC_PUBLIC, "lockInterruptibly", "()V", null, new String[] { "java/lang/InterruptedException" });
+      mv.visitCode();
+      ByteCodeUtil.systemOutPrintln(mv, ">>> OVERRIDDEN : lockInterruptibly");
+      mv.visitInsn(RETURN);
+      mv.visitMaxs(2, 0);
+      mv.visitEnd();
+    }
+    
+    {
+      mv = cw.visitMethod(ACC_PUBLIC, "newCondition", "()Ljava/util/concurrent/locks/Condition;", null, null);
+      mv.visitCode();
+      ByteCodeUtil.systemOutPrintln(mv, ">>> OVERRIDDEN : newCondition");
+      mv.visitInsn(ACONST_NULL);
+      mv.visitInsn(ARETURN);
+      mv.visitMaxs(2, 0);
+      mv.visitEnd();
+    }
+    
+    {
+      mv = cw.visitMethod(ACC_PUBLIC, "tryLock", "()Z", null, null);
+      mv.visitCode();
+      ByteCodeUtil.systemOutPrintln(mv, ">>> OVERRIDDEN : tryLock");
+      mv.visitInsn(ICONST_0);
+      mv.visitInsn(IRETURN);
+      mv.visitMaxs(2, 0);
+      mv.visitEnd();
+    }
+    
+    {
+      mv = cw.visitMethod(ACC_PUBLIC, "tryLock", "(JLjava/util/concurrent/TimeUnit;)Z", null, new String[] { "java/lang/InterruptedException" });
+      mv.visitCode();
+      ByteCodeUtil.systemOutPrintln(mv, ">>> OVERRIDDEN : tryLock 2");
+      mv.visitInsn(ICONST_0);
+      mv.visitInsn(IRETURN);
+      mv.visitMaxs(2, 0);
+      mv.visitEnd();
+    }
+    
+    {
+      mv = cw.visitMethod(ACC_PUBLIC | ACC_SYNTHETIC, "lock", "()V", null, null);
+      mv.visitCode();
+      ByteCodeUtil.systemOutPrintln(mv, ">>> OVERRIDDEN : lock");
+      mv.visitInsn(RETURN);
+      mv.visitMaxs(2, 0);
+      mv.visitEnd();
+    }
+    
+    {
+      mv = cw.visitMethod(ACC_PUBLIC | ACC_SYNTHETIC, "unlock", "()V", null, null);
+      mv.visitCode();
+      ByteCodeUtil.systemOutPrintln(mv, ">>> OVERRIDDEN : unlock");
+     mv.visitInsn(RETURN);
+      mv.visitMaxs(2, 0);
+      mv.visitEnd();
+    }
+    
+    // methods of TCLock
+    
+    {
+      mv = cw.visitMethod(ACC_PUBLIC | ACC_SYNTHETIC, "getTCLockingObject", "()Ljava/lang/Object;", null, null);
+      mv.visitCode();
+      ByteCodeUtil.systemOutPrintln(mv, ">>> OVERRIDDEN : getTCLockingObject");
+      mv.visitInsn(ACONST_NULL);
+      mv.visitInsn(ARETURN);
+      mv.visitMaxs(2, 0);
+      mv.visitEnd();
+    }
+
+    {
+      mv = cw.visitMethod(ACC_PUBLIC | ACC_SYNTHETIC, "isHeldByCurrentThread", "()Z", null, null);
+      mv.visitCode();
+      ByteCodeUtil.systemOutPrintln(mv, ">>> OVERRIDDEN : isHeldByCurrentThread");
+      mv.visitInsn(ICONST_0);
+      mv.visitInsn(IRETURN);
+      mv.visitMaxs(2, 0);
+      mv.visitEnd();
+    }
+
+    {
+      mv = cw.visitMethod(ACC_PUBLIC | ACC_SYNTHETIC, "localHeldCount", "()I", null, null);
+      mv.visitCode();
+      ByteCodeUtil.systemOutPrintln(mv, ">>> OVERRIDDEN : localHeldCount");
+      mv.visitInsn(ICONST_0);
+      mv.visitInsn(IRETURN);
+      mv.visitMaxs(2, 0);
+      mv.visitEnd();
+    }
+    
     super.visitField(ACC_FINAL + ACC_SYNTHETIC, PARENT_CONCURRENT_HASH_MAP_FIELD_NAME,
                      "Ljava/util/concurrent/ConcurrentHashMap;", null, null);
     super.visitEnd();
@@ -149,11 +253,9 @@
   private void createDefaultConstructor() {
     MethodVisitor mv = cv.visitMethod(0, "<init>", "()V", null, null);
     mv.visitCode();
+    ByteCodeUtil.systemOutPrintln(mv, ">>>>>> DEFAULT CONSTRUCTOR");
     Label l0 = new Label();
     mv.visitLabel(l0);
-    mv.visitLineNumber(232, l0);
-    mv.visitVarInsn(ALOAD, 0);
-    mv.visitMethodInsn(INVOKESPECIAL, "java/util/concurrent/locks/ReentrantLock", "<init>", "()V");
     Label l1 = new Label();
     mv.visitLabel(l1);
     mv.visitLineNumber(233, l1);
@@ -690,4 +792,4 @@
                          "(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V");
     }
   }
-}
\ No newline at end of file
+}
