barchart/barchart-udt — pull request #66 by andre77 (2014-05-10 22:40:02+00:00)
Title: byte is a signed type in java, so we need to mask it with &0xFF

for more details, see
http://stackoverflow.com/questions/11380062/what-does-value-0xff-do-in-java

pretty weird, that such a "bug" is still existing

the "int read()" method should not return a negative value, since it is interpreted as an EOF
the java byte type can have values from -128 .. +127
so 50% of all byte values do convert to a negative integer, which results in a EOF Exception in some circumstances

for example if you use the readInt method of DataInputStream
http://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html#readInt()

the code looks like this:
```
public final int readInt() throws IOException {
int ch1 = in.read();
int ch2 = in.read();
int ch3 = in.read();
int ch4 = in.read();
if ((ch1 | ch2 | ch3 | ch4) < 0)
throw new EOFException();
return ((ch1 << 24) + (ch2 << 16) + (ch3 << 8) + (ch4 << 0));
}
```
there the chance is pretty high to get an EOFException
BTW: it took my a lot of time to find this one. But i do not want to complain :-)
the project is gorgeous, thanks a lot