title: StringTemplate list of attributes defined for a given template
body: <p>I am getting started with StringTemplate 4 and I am trying to create a template from a simple string stored in a database. I use something like this:</p>
  
  <pre><code>STGroup group = new STGroupString(null, someTemplateString, '$', '$');
  ST st = group.getInstanceOf(someTemplateName);
  st.add(someAttribute, someValue);
  </code></pre>
  
  <p>Now everything works fine if I define all or less than the attribute defined for the template <code>someTemplateName</code>. Now if I try to add an attribute that doesn't exist, I get the following exception:</p>
  
  <pre><code>no such attribute: fake
  java.lang.IllegalArgumentException: no such attribute: fake
    ...
  </code></pre>
  
  <p>which makes sense. However, it seems like there's no way for me to know beforehand which attributes are defined for the template <code>someTemplateName</code>. I was expecting to find something like:</p>
  
  <pre><code>bool isDef = st.isDefined(someAttribute);
  </code></pre>
  
  <p>but there's no such method. Am I correct? Is there any way around this?</p>