public Map<Object, Object> getDefaultProperties(ResolverWrapper resolver) {
		// if no resolver is given or the list of default properties is empty then 
		// return an empty map
		if(resolver == null || resolver.properties() == null || resolver.properties().length == 0) {
			return Collections.emptyMap();
		}
		
		// get properties from the resolver annotation
		DefaultProperty[] properties = resolver.properties();
		
		// copy each property annotation into the map for later use
		Map<Object, Object> propertyMap = new HashMap<>(properties.length);
		for(DefaultProperty property : properties) {
			// nulls and empty keys are bad
			if(property.key() == null || property.key().isEmpty() || property.value() == null) {
				continue;
			}
			// no dupes
			if(propertyMap.containsKey(property.key())) {
				continue;
			}
			// put in map
			propertyMap.put(property.key(), property.value());
		}		
		return propertyMap;
	}
public Map < Object , Object > getDefaultProperties ( ResolverWrapper resolver ) { if ( resolver == null || resolver . properties ( ) == null || resolver . properties ( ) . length == 0 ) { return Collections . emptyMap ( ) ; } DefaultProperty [ ] properties = resolver . properties ( ) ; Map < Object , Object > propertyMap = new HashMap < > ( properties . length ) ; for ( DefaultProperty property : properties ) { if ( property . key ( ) == null || property . key ( ) . isEmpty ( ) || property . value ( ) == null ) { continue ; } if ( propertyMap . containsKey ( property . key ( ) ) ) { continue ; } propertyMap . put ( property . key ( ) , property . value ( ) ) ; } return propertyMap ; }
Get the properties that should be used as defaults when no other
properties are found for that value

@param resolver
@return