public HeaderBlock(InputStream stream) throws IOException {this(readFirst512(stream));if(bigBlockSize.getBigBlockSize() != 512) {int rest = bigBlockSize.getBigBlockSize() - 512;byte[] tmp = IOUtils.safelyAllocate(rest, MAX_RECORD_LENGTH);IOUtils.readFully(stream, tmp);}}

public HeaderBlock(Stream stream){try{stream.Position = 0;PrivateHeaderBlock(ReadFirst512(stream));if (bigBlockSize.GetBigBlockSize() != 512){int rest = bigBlockSize.GetBigBlockSize() - 512;byte[] temp = new byte[rest];IOUtils.ReadFully(stream, temp);}}catch(IOException ex){throw ex;}}
