@Override
  public void parseFromLocalFileData(final byte @NotNull [] buffer, int offset, final int length)
    throws ZipException {
    if (length == 0) {
      return;
    }
    if (length < 2 * DWORD) {
      throw new ZipException("Must contain both size values in the local file header.");
    }
    mySize = new ZipUInt64(buffer, offset);
    offset += DWORD;
    myCompressedSize = new ZipUInt64(buffer, offset);
    offset += DWORD;
    int remaining = length - 2 * DWORD;
    if (remaining >= DWORD) {
      myHeaderOffset = new ZipUInt64(buffer, offset);
    }
  }
@Override
  public void parseFromLocalFileData(final byte @NotNull [] buffer, int offset, final int length)