@SuppressWarnings({"unchecked","rawtypes"})
	public Object copyTransferrableProperties(AdministeredComponent target, AdministeredComponent source) {
		try {
			Iterator<String> propertyIterator = PropertyUtils.describe( target ).keySet().iterator();
			Map              sourceValuesMap  = PropertyUtils.describe( source );
			while ( propertyIterator.hasNext() ) {
				String property = propertyIterator.next();
				Object value    = sourceValuesMap.get( property );
				if ( PropertyUtils.isWriteable( target, property ) && 
				     Hibernate.isInitialized( value ) && 
				     !(isCADSREntity( value )) &&
				     !(value instanceof Collection)) {
					PropertyUtils.setProperty( target, property, value );
				}
			}			
			return target;
		} catch (Exception ex){
			log.error( "Error while copying properties: "+ ex.getMessage() );
		}
		return target;
	}