code: private String[] handleDeprecation(DeprecationContext deprecations,
  	                                   String name) {
  		if (null != name) {
  			name = name.trim();
  		}
  		// Initialize the return value with requested name
  		String[] names = new String[]{name};
  		// Deprecated keys are logged once and an updated names are returned
  		DeprecatedKeyInfo keyInfo = deprecations.getDeprecatedKeyMap().get(name);
  		if (keyInfo != null) {
  			if (!keyInfo.getAndSetAccessed()) {
  				logDeprecation(keyInfo.getWarningMessage(name));
  			}
  			// Override return value for deprecated keys
  			names = keyInfo.newKeys;
  		}
  		// If there are no overlay values we can return early
  		Properties overlayProperties = getOverlay();
  		if (overlayProperties.isEmpty()) {
  			return names;
  		}
  		// Update properties and overlays with reverse lookup values
  		for (String n : names) {
  			String deprecatedKey = deprecations.getReverseDeprecatedKeyMap().get(n);
  			if (deprecatedKey != null && !overlayProperties.containsKey(n)) {
  				String deprecatedValue = overlayProperties.getProperty(deprecatedKey);
  				if (deprecatedValue != null) {
  					getProps().setProperty(n, deprecatedValue);
  					overlayProperties.setProperty(n, deprecatedValue);
  				}
  			}
  		}
  		return names;
  	}
docs: Checks for the presence of the property <code>name</code> in the
  deprecation map. Returns the first of the list of new keys if present
  in the deprecation map or the <code>name</code> itself. If the property
  is not presently set but the property map contains an entry for the
  deprecated key, the value of the deprecated key is set as the value for
  the provided property name.
  
  @param deprecations deprecation context
  @param name the property name
  @return the first property in the list of properties mapping
  the <code>name</code> or the <code>name</code> itself.