code: public static String restoreExpression(Map<String, String> m, String key, String subkey, String v)
     {
        String k = key;
  
        if (subkey != null)
        {
           if (!isIncorrectExpression(subkey) && subkey.startsWith("${"))
           {
              subkey = subkey.substring(2, subkey.length() - 1);
  
              if (subkey.indexOf(":") != -1)
                 subkey = subkey.substring(0, subkey.indexOf(":"));
           }
  
           k += "|" + subkey;
        }
  
        return substituteValueInExpression(m.get(k), v);
  
     }
docs: Restores expression with substituted default value
  @param m a Map with expressions
  @param key of the Map
  @param subkey of the Map
  @param v value for substitution
  @return restored expression string