@@ -0,0 +1,872 @@
+package com.novoda.downloadmanager;%0A%0Aimport java.io.File;%0Aimport java.util.List;%0A%0Aclass StorageRequirementRules implements StorageRequirementRule %7B%0A%0A    private List%3CStorageRequirementRule%3E storageRequirementRules;%0A%0A    public StorageRequirementRules(List%3CStorageRequirementRule%3E storageRequirementRules) %7B%0A        this.storageRequirementRules = storageRequirementRules;%0A    %7D%0A%0A    public void addRule(StorageRequirementRule storageRequirementRule) %7B%0A        storageRequirementRules.add(storageRequirementRule);%0A    %7D%0A%0A    @Override%0A    public boolean hasViolatedRule(File storageDirectory, FileSize downloadFileSize) %7B%0A        for (StorageRequirementRule requirementRule : storageRequirementRules) %7B%0A            if (requirementRule.hasViolatedRule(storageDirectory, downloadFileSize)) %7B%0A                return true;%0A            %7D%0A        %7D%0A%0A        return false;%0A    %7D%0A%7D%0A

Introduce wrapper around a list of storage requirement rules.