made it possible to replace a value in the ultradns record builder
diff --git a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/domain/ResourceRecord.java b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/domain/ResourceRecord.java
index ea4d97c..3ade4b9 100644
--- a/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/domain/ResourceRecord.java
+++ b/providers/ultradns-ws/src/main/java/org/jclouds/ultradns/ws/domain/ResourceRecord.java
@@ -135,18 +135,32 @@
       }
 
       /**
+       * adds to current values
+       * 
        * @see ResourceRecord#getRData()
        */
-      public Builder rdata(Object infoValue) {
+      public Builder infoValue(Object infoValue) {
          this.infoValues.add(infoValue.toString());
          return this;
       }
 
       /**
+       * replaces current values
+       * 
+       * @see ResourceRecord#getRData()
+       */
+      public Builder rdata(Object infoValue) {
+         this.infoValues = ImmutableList.<String> builder().add(infoValue.toString());
+         return this;
+      }
+
+      /**
+       * replaces current values
+       * 
        * @see ResourceRecord#getRData()
        */
       public Builder rdata(Iterable<?> infoValues) {
-         this.infoValues.addAll(transform(infoValues, toStringFunction()));
+         this.infoValues = ImmutableList.<String> builder().addAll(transform(infoValues, toStringFunction()));
          return this;
       }
 
diff --git a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/binders/ZoneAndResourceRecordToXMLTest.java b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/binders/ZoneAndResourceRecordToXMLTest.java
index bc1f227..24b7b4b 100644
--- a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/binders/ZoneAndResourceRecordToXMLTest.java
+++ b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/binders/ZoneAndResourceRecordToXMLTest.java
@@ -33,17 +33,22 @@
    String A = "<v01:createResourceRecord><transactionID /><resourceRecord ZoneName=\"jclouds.org.\" Type=\"1\" DName=\"www.jclouds.org.\" TTL=\"3600\"><InfoValues Info1Value=\"1.1.1.1\" /></resourceRecord></v01:createResourceRecord>";
 
    public void testA() {
-      assertEquals(
-            ZoneAndResourceRecordToXML.toXML("jclouds.org.", ResourceRecord.rrBuilder().name("www.jclouds.org.")
-                  .type(1).ttl(3600).rdata("1.1.1.1").build()), A);
+      assertEquals(ZoneAndResourceRecordToXML.toXML("jclouds.org.", ResourceRecord.rrBuilder()
+                                                                                  .name("www.jclouds.org.")
+                                                                                  .type(1)
+                                                                                  .ttl(3600)
+                                                                                  .rdata("1.1.1.1").build()), A);
    }
 
    String MX = "<v01:createResourceRecord><transactionID /><resourceRecord ZoneName=\"jclouds.org.\" Type=\"15\" DName=\"mail.jclouds.org.\" TTL=\"1800\"><InfoValues Info1Value=\"10\" Info2Value=\"maileast.jclouds.org.\" /></resourceRecord></v01:createResourceRecord>";
 
    public void testMX() {
-      assertEquals(
-            ZoneAndResourceRecordToXML.toXML("jclouds.org.", ResourceRecord.rrBuilder().name("mail.jclouds.org.")
-                  .type(15).ttl(1800).rdata(10).rdata("maileast.jclouds.org.").build()), MX);
+      assertEquals(ZoneAndResourceRecordToXML.toXML("jclouds.org.", ResourceRecord.rrBuilder()
+                                                                                  .name("mail.jclouds.org.")
+                                                                                  .type(15)
+                                                                                  .ttl(1800)
+                                                                                  .infoValue(10)
+                                                                                  .infoValue("maileast.jclouds.org.").build()), MX);
    }
 
    String A_UPDATE = "<v01:updateResourceRecord><transactionID /><resourceRecord Guid=\"ABCDEF\" ZoneName=\"jclouds.org.\" Type=\"1\" DName=\"www.jclouds.org.\" TTL=\"3600\"><InfoValues Info1Value=\"1.1.1.1\" /></resourceRecord></v01:updateResourceRecord>";
diff --git a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/ResourceRecordApiExpectTest.java b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/ResourceRecordApiExpectTest.java
index 8bc1a96..7423114 100644
--- a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/ResourceRecordApiExpectTest.java
+++ b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/ResourceRecordApiExpectTest.java
@@ -45,8 +45,11 @@
    HttpResponse createResponse = HttpResponse.builder().statusCode(200)
          .payload(payloadFromResourceWithContentType("/rr_created.xml", "application/xml")).build();
 
-   ResourceRecord record = rrBuilder().name("mail.jclouds.org.").type(15).ttl(1800).rdata(10)
-         .rdata("maileast.jclouds.org.").build();
+   ResourceRecord record = rrBuilder().name("mail.jclouds.org.")
+                                      .type(15)
+                                      .ttl(1800)
+                                      .infoValue(10)
+                                      .infoValue("maileast.jclouds.org.").build();
 
    public void testCreateWhenResponseIs2xx() {
       UltraDNSWSApi success = requestSendsResponse(create, createResponse);
diff --git a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/ResourceRecordApiLiveTest.java b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/ResourceRecordApiLiveTest.java
index 18920a2..c4e0c01 100644
--- a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/ResourceRecordApiLiveTest.java
+++ b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/ResourceRecordApiLiveTest.java
@@ -124,8 +124,7 @@
 
    @Test(expectedExceptions = ResourceNotFoundException.class, expectedExceptionsMessageRegExp = "No Resource Record with GUID found in the system")
    public void testUpdateWhenNotFound() {
-      api(zoneName).update("AAAAAAAAAAAAAAAA",
-            rrBuilder().name("mail." + zoneName).type(15).ttl(1800).rdata(10).rdata("maileast.jclouds.org.").build());
+      api(zoneName).update("AAAAAAAAAAAAAAAA", mx);
    }
 
    @Test
@@ -134,8 +133,11 @@
    }
 
    String guid;
-   ResourceRecord mx = rrBuilder().name("mail." + zoneName).type(15).ttl(1800).rdata(10)
-         .rdata("maileast.jclouds.org.").build();
+   ResourceRecord mx = rrBuilder().name("mail." + zoneName)
+                                  .type(15)
+                                  .ttl(1800)
+                                  .infoValue(10)
+                                  .infoValue("maileast.jclouds.org.").build();
 
    @Test
    public void testCreateRecord() {
diff --git a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/RoundRobinPoolApiLiveTest.java b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/RoundRobinPoolApiLiveTest.java
index 651b86a..8423ed9 100644
--- a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/RoundRobinPoolApiLiveTest.java
+++ b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/features/RoundRobinPoolApiLiveTest.java
@@ -195,15 +195,21 @@
       getAnonymousLogger().info("created AAAA record: " + aaaaRecord1);
 
       assertTrue(listRRs(aaaaPoolId).anyMatch(
-            equalTo(rrBuilder().name(hostname).type(28).ttl(1).rdata("2001:0DB8:85A3:0000:0000:8A2E:0370:7334")
-                  .build())));
+            equalTo(rrBuilder().name(hostname)
+                               .type(28)
+                               .ttl(1)
+                               .rdata("2001:0DB8:85A3:0000:0000:8A2E:0370:7334")
+                               .build())));
 
       aaaaRecord2 = api(zoneName).addAAAARecordWithAddressAndTTL(aaaaPoolId, "2002:0DB8:85A3:0000:0000:8A2E:0370:7334",
             1);
 
       assertTrue(listRRs(aaaaPoolId).anyMatch(
-            equalTo(rrBuilder().name(hostname).type(28).ttl(1).rdata("2002:0DB8:85A3:0000:0000:8A2E:0370:7334")
-                  .build())));
+            equalTo(rrBuilder().name(hostname)
+                               .type(28)
+                               .ttl(1)
+                               .rdata("2002:0DB8:85A3:0000:0000:8A2E:0370:7334")
+                               .build())));
 
       getAnonymousLogger().info("created AAAA record: " + aaaaRecord1);
       try {
diff --git a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/parse/GetResourceRecordsOfDNameByTypeResponseTest.java b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/parse/GetResourceRecordsOfDNameByTypeResponseTest.java
index 7a04f66..64483a1 100644
--- a/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/parse/GetResourceRecordsOfDNameByTypeResponseTest.java
+++ b/providers/ultradns-ws/src/test/java/org/jclouds/ultradns/ws/parse/GetResourceRecordsOfDNameByTypeResponseTest.java
@@ -58,14 +58,16 @@
             .zoneName("adrianc.rr.ultradnstest.jclouds.org.")
             .created(dateService.iso8601DateParse("2013-02-22T08:22:48.000Z"))
             .modified(dateService.iso8601DateParse("2013-02-22T08:22:49.000Z"))
-            .record(rrBuilder().type(6).name("adrianc.rr.ultradnstest.jclouds.org.").ttl(86400)
-                               .rdata("pdns75.ultradns.com.")
-                               .rdata("adrianc.netflix.com.")
-                               .rdata("2013022200")
-                               .rdata("86400")
-                               .rdata("86400")
-                               .rdata("86400")
-                               .rdata("86400").build()).build();
+            .record(rrBuilder().name("adrianc.rr.ultradnstest.jclouds.org.")
+                               .type(6)
+                               .ttl(86400)
+                               .infoValue("pdns75.ultradns.com.")
+                               .infoValue("adrianc.netflix.com.")
+                               .infoValue("2013022200")
+                               .infoValue("86400")
+                               .infoValue("86400")
+                               .infoValue("86400")
+                               .infoValue("86400").build()).build();
       return FluentIterable.from(ImmutableList.of(record));
    }
 }