/**
   * Get the existing ZIP64 extended information extra field or create a new one and add it to the
   * entry.
   *
   * @since 1.3
   */
  private Zip64ExtendedInformationExtraField getZip64Extra(ZipArchiveEntry ze) {
    if (entry != null) {
      entry.causedUseOfZip64 = !hasUsedZip64;
    }
    hasUsedZip64 = true;
    Zip64ExtendedInformationExtraField z64 =
        (Zip64ExtendedInformationExtraField)
            ze.getExtraField(Zip64ExtendedInformationExtraField.HEADER_ID);
    if (z64 == null) {
      /*
        System.err.println("Adding z64 for " + ze.getName()
        + ", method: " + ze.getMethod()
        + " (" + (ze.getMethod() == STORED) + ")"
        + ", raf: " + (raf != null));
      */
      z64 = new Zip64ExtendedInformationExtraField();
    }

    // even if the field is there already, make sure it is the first one
    ze.addAsFirstExtraField(z64);

    return z64;
  }
 /**
  * Is there a ZIP64 extended information extra field for the entry?
  *
  * @since 1.3
  */
 private boolean hasZip64Extra(ZipArchiveEntry ze) {
   return ze.getExtraField(Zip64ExtendedInformationExtraField.HEADER_ID) != null;
 }