static O collectionMutex(O o) { S c = className(o); if (eq(c, "java.util.TreeMap$KeySet")) c = className(o = getOpt(o, 'm)); ifdef collectionMutex_debug print("Class name: " + className(o)); endifdef if (eqOneOf(c, "java.util.TreeMap$AscendingSubMap", "java.util.TreeMap$DescendingSubMap")) c = className(o = getOpt(o, 'm)); // getOpt does not handle maps specially ret o; }