public String encode(long... numbers) {
        if (numbers.length == 0) {
            return "";
        }

        for (final long number : numbers) {
            if (number < 0) {
                return "";
            }
            if (number > MAX_NUMBER) {
                throw new IllegalArgumentException("number can not be greater than " + MAX_NUMBER + "L");
            }
        }
        return this._encode(numbers);
    }
@Test
    public void test_issue31() {
        final long[] numbers = new long[500000];
        long         current = Hashids.MAX_NUMBER;
        for (int i = 0; i < numbers.length; i++) {
            numbers[i] = current--;
        }
        final Hashids a = new Hashids("this is my salt");
        Assert.assertNotEquals("", a.encode(numbers));
    }