code: function pkgPropUpd(pd, u, n, r) {
  			var v = null;
  			if (u && pd.oldVer !== self.version && self.version) {
  				v = self.version;
  			} else if (n && pd.oldVer !== self.next.version && self.next.version) {
  				v = self.next.version;
  			} else if (r && self.prev.version) {
  				v = self.prev.version;
  			}
  			pd.version = v;
  			if (v && !pd.props) {
  				pd.pkg.version = v;
  				pd.propChangeCount++;
  			}
  			if (pd.props && pd.pkgParent) {
  				pd.props.forEach(function pkgProp(p) {
  					if (pd.pkgParent[p] && (!pd.pkg[p] || pd.pkgParent[p] !== pd.pkg[p])) {
  						// sync parent package property with the current one
  						pd.pkg[p] = pd.pkgParent[p];
  						pd.propChangeCount++;
  					}
  				});
  			}
  			return v;
  		}
docs: updates the package version or a set of properties from a parent package for a given package data element and flag