private static RegisteredService buildService(final int i) {
    final AbstractRegisteredService rs =
        TestUtils.getRegisteredService("^http://www.serviceid" + i + ".org");

    final Map<String, RegisteredServiceProperty> propertyMap = new HashMap<>();
    final DefaultRegisteredServiceProperty property = new DefaultRegisteredServiceProperty();
    final Set<String> values = new HashSet<>();
    values.add("value1");
    values.add("value2");
    property.setValues(values);
    propertyMap.put("field1", property);
    rs.setProperties(propertyMap);

    return rs;
  }
  public RegisteredService save(final RegisteredService registeredService) {
    if (registeredService.getId() == -1) {
      ((AbstractRegisteredService) registeredService).setId(findHighestId() + 1);
    }

    this.registeredServices.remove(registeredService);
    this.registeredServices.add(registeredService);

    return registeredService;
  }
 @Override
 public final AbstractRegisteredService clone() {
   final AbstractRegisteredService clone = newInstance();
   clone.copyFrom(this);
   return clone;
 }
 public RegisteredService clone() throws CloneNotSupportedException {
   final AbstractRegisteredService clone = newInstance();
   clone.copyFrom(this);
   return clone;
 }