that's the OuputStream contract (needs @Override) b is supposed to fit in a byte