public int read(DataInputStream istream) throws IOException { preRead(); int retVal = 0; // read bf1 retVal += bf1.read(istream); // read programInfo { int iCount = getProgramInfoLength() + (0); byte[] ba = new byte[iCount]; istream.readFully(ba); ByteArrayInputStream baTemp = new ByteArrayInputStream(ba); retVal += programInfo.read(new DataInputStream(baTemp)); } postRead(); return retVal; }