#vulnerable code 
                              private ZipInputStream prepareZipInputStream() throws ZipException {
    try {
      SplitInputStream splitInputStream = new SplitInputStream(getZipModel().getZipFile(),
          getZipModel().isSplitArchive(), getZipModel().getEndOfCentralDirectoryRecord().getNumberOfThisDisk());

      FileHeader fileHeader = getFirstFileHeader(getZipModel());
      if (fileHeader != null) {
        splitInputStream.prepareExtractionForFileHeader(fileHeader);
      }

      return new ZipInputStream(splitInputStream, password);
    } catch (IOException e) {
      throw new ZipException(e);
    }
  } 
                            #location 11 
                            #vulnerability type RESOURCE_LEAK
#fixed code
                              private ZipInputStream prepareZipInputStream() throws ZipException {
    try {
      splitInputStream = new SplitInputStream(getZipModel().getZipFile(),
          getZipModel().isSplitArchive(), getZipModel().getEndOfCentralDirectoryRecord().getNumberOfThisDisk());

      FileHeader fileHeader = getFirstFileHeader(getZipModel());
      if (fileHeader != null) {
        splitInputStream.prepareExtractionForFileHeader(fileHeader);
      }

      return new ZipInputStream(splitInputStream, password);
    } catch (IOException e) {
      throw new ZipException(e);
    }
  }