public void copyValues(Element dst) {
   dst.id = id == null ? null : id.copy();
   if (extension != null) {
     dst.extension = new ArrayList<Extension>();
     for (Extension i : extension) dst.extension.add(i.copy());
   }
   ;
 }
 /**
  * Returns an unmodifiable list containing all extensions on this element which match the given
  * URL.
  *
  * @param theUrl The URL. Must not be blank or null.
  * @return an unmodifiable list containing all extensions on this element which match the given
  *     URL
  */
 public List<Extension> getExtensionsByUrl(String theUrl) {
   org.apache.commons.lang3.Validate.notBlank(theUrl, "theUrl must not be blank or null");
   ArrayList<Extension> retVal = new ArrayList<Extension>();
   for (Extension next : getExtension()) {
     if (theUrl.equals(next.getUrl())) {
       retVal.add(next);
     }
   }
   return java.util.Collections.unmodifiableList(retVal);
 }
 public boolean hasExtension() {
   if (this.extension == null) return false;
   for (Extension item : this.extension) if (!item.isEmpty()) return true;
   return false;
 }