private void writeTag(){
  if (dataPos == dataSize)   return;
  int tag=data[dataPos++];
  if (isEOC(tag) && (data[dataPos] == 0)) {
    dataPos++;
    writeTag();
  }
 else   newData[newDataPos++]=(byte)tag;
}

private void writeTag ( ) { if ( dataPos == dataSize ) return ; int tag = data [ dataPos ++ ] ; if ( isEOC ( tag ) && ( data [ dataPos ] == 0 ) ) { dataPos ++ ; writeTag ( ) ; } else newData [ newDataPos ++ ] = ( byte ) tag ; }
write the tag and if it is an end - of - contents tag then skip the tag and its 1 byte length of zero .
