anchor.diff:  
   As you can see, you can have multiple `from()` declarations in a copy specification, each with its own configuration.
   
  +[[sec:unpacking_archives_example]]
   === Unpacking archives
   
   Archives are effectively self-contained file systems, so unpacking them is a case of copying the files from that file system into a directory (or even another archive). Gradle enables this by providing some wrapper functions that make archives available as hierarchical collections of files known as file trees (TODO: link to an in-depth discussion of file trees).
  
positive.code: 
  This approach has the side effect of copying the directory structure below `reports` as well as the files. This may be what you want. It may not be. Copying files includes many such decisions and there are too many to cover here, but know that there are very few requirements that can't be handled elegantly by Gradle copy specifications.
  
  Head over to ~TBD~ in order to learn all the different options available for getting the exact behavior you want.
  
  === Copying directory hierarchies
  
  
negative.code: </sample>
  ++++
  
  File collections have some important attributes in Gradle. They can be:
  
   * created lazily
   * iterated over
   * filtered
   * combined
  
  _Lazy creation_ of a file collection is useful when you need to evaluate the files that make up a collection when the build runs. In the following example, we query the file system to find out what files exist in a particular directory and make them a file collection:
  
  ++++
  <sample id="fileCollections" dir="userguide/files/fileCollections" title="Implementing a file collection">
      <sourcefile file="build.gradle" snippet="closure"/>
      <output args="-q list"/>
  </sample>
  ++++
  
  The key to lazy creation is passing a closure to the `files()` method. Your closure simply needs to return a value of a type accepted by `files()`, such as `List<File>`, `String`, `FileCollection`, etc.
  
  _Iterating over a file collection_ can be done through the `each()` method on the collection or using the collection in a `for` loop. In both approaches, the file collection is treated as a set of `File` instances, i.e. your iteration variable will be of type `File`.
  
  The following example demonstrates such iteration as well as how you can convert file collections to other types using the `as` operator or supported properties:
  
  ++++
  <sample id="fileCollections" dir="userguide/files/fileCollections" title="Using a file collection">
  