[bugfix] When a CachingFilterInputStream wraps another CachingFilterInputStream use distinct srcOffset and make sure to enable cache use appropriately