byte[] buffer = new byte[READ_FULLY_BUFFER_SIZE];
byte[] buffer = new byte[Math.min(READ_FULLY_BUFFER_SIZE, len)];
        public void readFully(byte[] b, int off, int len) throws IOException {            int counter = 0;            int pos = 0;            byte[] buffer = new byte[READ_FULLY_BUFFER_SIZE];            int toRead = len;            while(toRead > 0 && (counter = read(buffer, 0, toRead)) != -1) {                System.arraycopy(buffer, 0, b, pos, counter);                pos += counter;                                toRead -= counter;            }                        if (counter == -1)                throw new EOFException();        }