class MetadataVersionDelegate {

    public String downloadMetadataVersionSnapshot(MetadataVersion version )
        throws MetadataVersionServiceException
    {
        String downloadVersionSnapshotURL = metadataSystemSettingService.getDownloadVersionSnapshotURL( version.getName() );
        DhisHttpResponse dhisHttpResponse = getDhisHttpResponse( downloadVersionSnapshotURL, DOWNLOAD_TIMEOUT );

        if ( isValidDhisHttpResponse( dhisHttpResponse ) )
        {
            return dhisHttpResponse.getResponse();
        }

        return null;
    }

    public  MetadataVersionDelegate( DefaultMetadataSystemSettingService metadataSystemSettingService,
        SynchronizationManager synchronizationManager, RenderService renderService,
        MetadataVersionService metadataVersionService );

}