private void addKey(final ParameterDefinition key) {
    if (fKey == null) {
      fKey = new LinkedList<ParameterDefinition>();
    }

    fKey.add(key);
  }
 private void addAux(final ParameterDefinition aux) {
   if (fAux == null) {
     fAux = new LinkedList<ParameterDefinition>();
   }
   fAux.add(aux);
 }
 private void addRequired(final Symbol symbol) {
   if (fRequired == null) {
     fRequired = new LinkedList<RequiredParameterDefinition>();
   }
   fRequired.add(new RequiredParameterDefinition(symbol));
 }
 private void addOptional(final ParameterDefinition definition) {
   if (fOptional == null) {
     fOptional = new LinkedList<ParameterDefinition>();
   }
   fOptional.add(definition);
 }
 private void addRequired(final SExpression form) {
   if (fRequired == null) {
     fRequired = new LinkedList<RequiredParameterDefinition>();
   }
   fRequired.add(new RequiredParameterDefinition(form));
 }