function merge(empty,o1,o2,o3) {
			// extend ignores 'undefined' values but not 'null' values.
			// So 'null' values get propagated and block a parent propagation.
			// 'undefined' values are ignored and therefore not propagated.
			return empty ? o1 : extend({}, o1, o2, o3);
		}
Get properties for propagation
@return {object} oProperties
@private