/** Copy individual property from source to destination. */
  private void cloneProperty(String key) throws PropertyException {
    switch (source.getType(key)) {
      case PropertySet.BOOLEAN:
        destination.setBoolean(key, source.getBoolean(key));

        break;

      case PropertySet.INT:
        destination.setInt(key, source.getInt(key));

        break;

      case PropertySet.LONG:
        destination.setLong(key, source.getLong(key));

        break;

      case PropertySet.DOUBLE:
        destination.setDouble(key, source.getDouble(key));

        break;

      case PropertySet.STRING:
        destination.setString(key, source.getString(key));

        break;

      case PropertySet.TEXT:
        destination.setText(key, source.getText(key));

        break;

      case PropertySet.DATE:
        destination.setDate(key, source.getDate(key));

        break;

      case PropertySet.OBJECT:
        destination.setObject(key, source.getObject(key));

        break;

      case PropertySet.XML:
        destination.setXML(key, source.getXML(key));

        break;

      case PropertySet.DATA:
        destination.setData(key, source.getData(key));

        break;

      case PropertySet.PROPERTIES:
        destination.setProperties(key, source.getProperties(key));

        break;
    }
  }