code: public Address add(String... addressParts) {
          if (addressParts != null) {
              if ((addressParts.length % 2) != 0) {
                  throw new IllegalArgumentException("address is incomplete: " + Arrays.toString(addressParts));
              }
  
              if (addressParts.length > 0) {
                  for (int i = 0; i < addressParts.length; i += 2) {
                      addressNode.add(addressParts[i], addressParts[i + 1]);
                  }
              }
          }
  
          return this;
      }
docs: Appends the given address parts to this address.
  This lets you build up addresses in a step-wise fashion.
  
  @param addressParts new address parts to add to the address.
  
  @return this address (which now has the new address parts appended).