byte @NotNull [] getCentralDirectoryExtraBytes() throws IOException {
    BufferExposingByteArrayOutputStream stream = new BufferExposingByteArrayOutputStream();
    for (JBZipExtraField field : extra) {
      stream.write(field.getHeaderId().getBytes());
      stream.write(field.getCentralDirectoryLength().getBytes());
      stream.write(field.getCentralDirectoryData());
    }

    byte[] bytes = stream.toByteArray();
    assertValidExtraFieldSize(bytes);
    return bytes;
  }
byte @NotNull [] getCentralDirectoryExtraBytes()