anchor.diff:        List<Type> types = Type.values;
         _type = jsonobj.containsKey('type') ? types[jsonobj.type] : Type.unknown;
         _host = jsonobj.containsKey('host') ? jsonobj.host : "";
  +      _provider =
  +      jsonobj.containsKey('provider') ? jsonobj.host : PROVIDER_UNKNOWN;
         _source = jsonobj.containsKey('source') ? jsonobj.source : "";
         _destination =
         jsonobj.containsKey('destination') ? jsonobj.destination : "";
  
positive.code:   }
  
    DartivityMessage.iHave(String source, String destination, String resourceName,
                           Map<String, dynamic> resourceDetails, String host) {
      if ((source == null) ||
      (resourceDetails == null) ||
      (destination == null) ||
      (resourceName == null) ||
      (host == null)) {
        throw new DartivityException(DartivityException.INVALID_IHAVE_MESSAGE);
      }
      _type = Type.iHave;
  
negative.code:       _resourceDetails =
        input.containsKey('resourceDetails') ? input.resourceDetails : "{}";
        _host = input.containsKey('host') ? input.host : "";
        _provider = input.containsKey('provider') ? input.host : PROVIDER_UNKNOWN;
      }
    }
  
  