<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _ExtractFileEntry( self, path_spec, destination_path, output_writer, skip_duplicates=True):
 """Extracts a file entry. Args: path_spec (dfvfs.PathSpec):
 path specification of the source file. destination_path (str):
 path where the extracted files should be stored. output_writer (CLIOutputWriter):
 output writer. skip_duplicates (Optional[bool]):
 True if files with duplicate content should be skipped. """

    file_entry = path_spec_resolver.Resolver.OpenFileEntry(path_spec)

    if not file_entry:
      logger.warning('Unable to open file entry for path spec: {0:s}'.format(
          path_spec.comparable))
      return

    if not self._filter_collection.Matches(file_entry):
      return

    file_entry_processed = False
    for data_stream in file_entry.data_streams:
      if self._abort:
        break

      self._ExtractDataStream(
          file_entry, data_stream.name, destination_path, output_writer,
          skip_duplicates=skip_duplicates)

      file_entry_processed = True

    if not file_entry_processed:
      self._ExtractDataStream(
          file_entry, '', destination_path, output_writer,
          skip_duplicates=skip_duplicates)