Doesn't that mean that the root object is only used as a template from which clones are made and as an instance is never used for reads? The clone method chooses to return an unwrapped, raw IndexInput without any timer checks if the current thread is untimed.