public String arbitrary(Random random, long size)
    {
        int length = (int)Arbitrary.random(random, 0, 
                                           Math.min(Integer.MAX_VALUE, size));
        StringBuffer buffer = new StringBuffer(length);
        for (int i = 0; i < length; ++i) {
            buffer.append(charGen.arbitrary(random, size));
        }
        
        return buffer.toString();
    }