@Override
  public String getDescription()
  {
    StringBuilder description = new StringBuilder();
    description.append("ConditionalRuleList");
    if (!rules.isEmpty())
      description.append("\n{");
    for (ConditionalRule rule : rules)
    {
      //depends on sub-rules being one line, could refactor to include an indent amount, but lets not go nuts just yet.
      description.append("\n  ").append(rule.getDescription());
    }
    if (!rules.isEmpty())
      description.append("\n}");
    return description.toString();
  }