@Override
        public boolean equals(Object obj) {
            if (!(obj instanceof SchemaMapKey)) return false;
            SchemaMapKey other = (SchemaMapKey)obj;
            return other.getChain().equals(chain) &&
              other.getDocproc().equals(docproc) &&
              other.getInDocument().equals(inDocument) &&
              equalType(other);
        }
Map key. Doctype can be null, not the others.
docproc/src/main/java/com/yahoo/docproc/proxy/SchemaMap.java