code: public Component copy() throws ParseException, IOException,
              URISyntaxException {
  
          // Deep copy properties..
          final PropertyList<Property> newprops = new PropertyList<Property>(getProperties());
  
          return new ComponentFactoryImpl().createComponent(getName(),
                  newprops);
      }
docs: Create a (deep) copy of this component.
  
  @return the component copy
  @throws IOException        where an error occurs reading the component data
  @throws ParseException     where parsing component data fails
  @throws URISyntaxException where component data contains an invalid URI