Among with the three implementations of CachingBinaryManager, the two classes JCloudsBinaryManager and S3BinaryManager override the field repositoryName making its initialization ineffective since the field used elsewhere in the inherited code is AbstractBinaryManager.repositoryName. It seems to work fine nevertheless thanks to default fall-backs.
=> Remove that field.
In the mean time, the code needs some cleanup and factorization.