Implementação implícita e explícita da interface

Enquanto trabalhava em uma atualização, encontrei um código como este.

interface ICustomization
    {
        IMMColumnsDefinition GetColumnsDefinition();
    }

    class Customization : ICustomization
    {
        private readonly ColumnDefinition _columnDefinition;

        //More code here.

        public ColumnsDefinition GetColumnsDefinition()
        {
            return _columnDefinition;
        }

        ColumnsDefinition ICustomization.GetColumnsDefinition()  //redundant
        {
            return GetColumnsDefinition();            
        }
    }

Minha pergunta é: Existe alguma necessidade / uso de implementação 'explícita' da interface nesse trecho de código? Isso criará algum problema se eu remover o método (implementação explícita da interface) que marquei "redundante" acima?

PS: Entendo que a implementação explícita da interface é muito importante e pode ser usada quando precisamos dar acesso a um método apenas no nível da interface e usar duas interfaces com a mesma assinatura do método.

questionAnswers(2)

yourAnswerToTheQuestion