Erro de Validação com Codigo de Barra EAN13

Ola galera realmente esse método e muito interessante para quem trabalha com codigo de barra EAN13, porem tem um problema!!!
Quando digito os 13 dígitos com sequencia de números pares únicas por exemplo: 0000000000000,2222222222222 ou … ele aceita. Como resolvo este problema para ele não aceitar?
Obrigado.

public boolean isValidBarCodeEAN(String barCode) {
        int digit;
        int calculated;
        String ean;
        String checkSum = "131313131313";
        int sum = 0;

        if (barCode.length() == 8 || barCode.length() == 13) {
            digit = Integer.parseInt("" + barCode.charAt(barCode.length() - 1));            
            ean = barCode.substring(0, barCode.length() - 1);            
            for (int i = 0; i <= ean.length() - 1; i++) {
                sum += (Integer.parseInt("" + ean.charAt(i))) * (Integer.parseInt("" + checkSum.charAt(i)));
            }            
            calculated = 10 - (sum % 10);            
            return (digit == calculated);
        } else {
            return false;
        }
    }