class DefaultMetadataVersionService implements MetadataVersionService {

    @Override
    public boolean isMetadataPassingIntegrity( MetadataVersion version, String versionSnapshot )
    {
        String metadataVersionHashCode;

        if ( version == null || versionSnapshot == null )
        {
            throw new MetadataVersionServiceException( "Version/Version Snapshot can't be null" );
        }

        try
        {
            metadataVersionHashCode = HashCodeGenerator.getHashCode( versionSnapshot );
        }
        catch ( NoSuchAlgorithmException e )
        {
            throw new MetadataVersionServiceException( "Algorithm to hash metadata is not found in the system", e );
        }

        return (metadataVersionHashCode.equals( version.getHashCode() ));
    }

    public  DefaultMetadataVersionService( MetadataVersionStore metadataVersionStore,
        MetadataExportService metadataExportService, MetadataKeyJsonService metaDataKeyJsonService,
        NodeService nodeService, MetadataSystemSettingService metadataSystemSettingService,
        RenderService renderService );

}