docs: function(){
        for (var tokenName in this.tokens)
        {
          var token = this.tokens[tokenName];
          var descriptor = this.getDescriptor(tokenName) || NULL_DESCRIPTOR;
          var savedType = token.getType();
  
          token.descriptor = descriptor;
  
          if (token.value !== descriptor.value)
          {
            // on value change apply will be ivoked and new type applied
            basisTokenPrototypeSet.call(token, descriptor.value);
          }
          else
          {
            // apply changes if type has been changed
            if (token.getType() != savedType)
              token.apply();
          }
        }
      }