base/common/src/main/com/thesett/common/properties/ContextualProperties.java
public String getProperty(String base, String modifier, String key)
    {
        String result = null;

        // Loop over the key orderings, from the most specific to the most general, until a matching value is found.
        for (Iterator i = getKeyIterator(base, modifier, key); i.hasNext();)
        {
            String nextKey = (String) i.next();

            result = super.getProperty(nextKey);

            if (result != null)
            {
                break;
            }
        }

        return result;
    }
public String getProperty(String base, String modifier, String key)
    {
        String result = null;

        // Loop over the key orderings, from the most specific to the most general, until a matching value is found.
        for (Iterator i = getKeyIterator(base, modifier, key); i.hasNext();)
        {
            String nextKey = (String) i.next();

            result = super.getProperty(nextKey);

            if (result != null)
            {
                break;
            }
        }

        return result;
    }
Looks up a property value relative to the environment, base class and modifier. The default environment will be
checked for a matching property if defaults are being used.

@param  base     The name of the class to retrieve properties relative to.
@param  modifier The modifier (which may stand for a method of the class).
@param  key      The property key.

@return The value of this property searching from the most specific definition (environment, class, modifier,
key) to the most general (key only), unless use of default environments is turned off in which case the
most general property searched is (environment, key).