code: function Symbol(value, parameters) {
      abstractions.Element.call(this, utilities.types.SYMBOL, parameters);
      if (!value || !/^[a-zA-Z][0-9a-zA-Z]*$/g.test(value)) {
          throw new utilities.Exception({
              $module: '/bali/elements/Symbol',
              $procedure: '$Symbol',
              $exception: '$invalidParameter',
              $parameter: value.toString(),
              $text: '"An invalid symbol value was passed to the constructor."'
          });
      }
  
      // since this element is immutable the value must be read-only
      this.getValue = function() { return value; };
  
      return this;
  }
docs: PUBLIC CONSTRUCTOR 
  This constructor creates a new symbol element using the specified value.
  
  @param {String} value The value of the symbol.
  @param {Parameters} parameters Optional parameters used to parameterize this element.
  @returns {Symbol} The new symbol element.