/* (non-Javadoc)
   * @see org.openvpms.component.business.domain.im.archetype.descriptor.Descriptor#clone()
   */
  @Override
  public Object clone() throws CloneNotSupportedException {
    ArchetypeDescriptor copy = (ArchetypeDescriptor) super.clone();
    copy.nodeDescriptors = new LinkedHashMap<String, NodeDescriptor>(this.nodeDescriptors);
    copy.primary = this.primary;
    copy.type = (ArchetypeId) (type == null ? null : this.type.clone());

    return copy;
  }