anchor.diff:  
   == Reactive-Streams
   
  -As needed, we will implement reactive methods as described in link:https://github.com/reactive-streams/reactive-streams-jvm[reactive-streams]. 
  -We implement these here as optional closures for all tasks. Currently the only supported methods are `onError`, `onNext`, `onComplete`. Various examples  
  +As needed, we will implement reactive methods as described in link:https://github.com/reactive-streams/reactive-streams-jvm[reactive-streams].
  +We implement these here as optional closures for all tasks. Currently the only supported methods are `onError`, `onNext`, `onComplete`. Various examples
   on how to use these can be found in our link:https://github.com/bmuschko/gradle-docker-plugin/blob/master/src/functTest/groovy/com/bmuschko/gradle/docker/DockerReactiveMethodsFunctionalTest.groovy[reactive tests]
   
   ==== onError
   
  -The `onError` closure is passed the exception that is thrown for YOU to handle. If you silently ignore we will not throw the exception behind the scenes. 
  +The `onError` closure is passed the exception that is thrown for YOU to handle. If you silently ignore we will not throw the exception behind the scenes.
   The below example is a common use-case that arises when someone wants to remove a container whether it exists or not but does not want to fail hard.
   
   [source,groovy]
  
positive.code: }
  ----
  
  
  == Java application plugin
  
  
negative.code: 
  ==== onNext
  
  The `onNext` closure is passed the next iterative response upon execution. For all other tasks we simply hand you back the object that is given to us by `docker-java`
  which is a pojo representation of the json handed back by `docker`. Thus, and much like the `onException` closure, all delegation is now in your control. Any properties/values
  expected to be set will not be done unless YOU do them.
  
  Iterative tasks are things like `DockerBuildImage`, `DockerLogsContainer`, `DockerListImages`. These tasks have output which can be iterated over. The example below demonstrates how
  we iterate over each log message passing that to the closure for the user to work on.
  
  [source,groovy]
  