code: function (name, type, size, semantic) {
          var attrib = new Attribute$1(name, type, size, semantic);
          if (this.attributes[name]) {
              this.removeAttribute(name);
          }
          this.attributes[name] = attrib;
          this._attributeList.push(name);
          return attrib;
      }
docs: Create a new attribute
  @param {string} name
  @param {string} type
  @param {number} size
  @param {string} [semantic]