class PostProcessingBlock implements ProguardFilesProvider {

    public void initWith(PostProcessingBlock that) {
        this.removeUnusedCode = that.isRemoveUnusedCode();
        this.removeUnusedResources = that.isRemoveUnusedResources();
        this.obfuscate = that.isObfuscate();
        this.optimizeCode = that.isOptimizeCode();
        this.proguardFiles = Lists.newArrayList(that.getProguardFiles(EXPLICIT));
        this.testProguardFiles = Lists.newArrayList(that.getProguardFiles(TEST));
        this.consumerProguardFiles = Lists.newArrayList(that.getProguardFiles(CONSUMER));
        this.codeShrinker = that.getCodeShrinkerEnum();
    }

    @Inject public  PostProcessingBlock(@NonNull Project project);
    @VisibleForTesting  PostProcessingBlock(@NonNull Project project, List<File> proguardFiles);

}