code: String expand(String expression, boolean horizontal) {
          int cursor = 0;
          int start = expression.indexOf(LayoutMap.VARIABLE_PREFIX_CHAR, cursor);
          if (start == -1) { // No variables
              return expression;
          }
          StringBuffer buffer = new StringBuffer();
          do {
              buffer.append(expression.substring(cursor, start));
              String variableName = nextVariableName(expression, start);
              buffer.append(expansion(variableName, horizontal));
              cursor = start + variableName.length() + 1;
              start = expression.indexOf(LayoutMap.VARIABLE_PREFIX_CHAR, cursor);
          } while (start != -1);
          buffer.append(expression.substring(cursor));
          return buffer.toString();
      }
docs: String Expansion *******************************************************