public Properties clone() {
        try {
            Properties clone = (Properties) super.clone();
            if (chained != null)
                clone.chained = this.chained.clone();
            return clone;
        } catch (CloneNotSupportedException e) {
            throw new RuntimeException("Will never happen");
        }
    }
Clones this instance and recursively all chained instance.
Implementations should call this and clone their own state as appropriate
container-core/src/main/java/com/yahoo/processing/request/Properties.java