anchor.diff:    }
   
     bool _equal(Command other) {
  -    if (!super._equal(other)) return false;
  -      if (other is ProcessCommand) {
  +    if (other is ProcessCommand) {
  +      if (!super._equal(other)) return false;
   
         if (hashCode != other.hashCode ||
             executable != other.executable ||
  
positive.code:   /** Environment for the command */
    Map<String, String> environmentOverrides;
  
    ProcessCommand._(String displayName, this.executable,
                     this.arguments,
                     [this.environmentOverrides = null])
        : super._(displayName) {
      if (io.Platform.operatingSystem == 'windows') {
        // Windows can't handle the first command if it is a .bat file or the like
  
negative.code:   void _buildHashCode(HashCodeBuilder builder) {
      super._buildHashCode(builder);
      builder.add(executable);
      builder.add(workingDirectory);
      for (var object in arguments) builder.add(object);
      if (environmentOverrides != null) {
        for (var key in environmentOverrides.keys) {
  