code: function Broker (hosts, uniqueId, port) {
    /**
     * Array of host name / IP address string(s)
     * @name Broker#hosts
     * @type Array<String>
     */
    this.hosts = (typeof hosts === 'string') ? [hosts] : hosts
    /**
     * A unique identifier for the broker, used to identify the broker in log
     * messages, etc.
     * @name Broker#uniqueId
     * @type String
     */
    this.uniqueId = (typeof uniqueId === 'undefined') ? null : uniqueId
    /**
     * The port of the broker
     * @name Broker#port
     * @type Number
     */
    this.port = (typeof port === 'undefined') ? SSL_PORT : portAsInteger(port)
  }
docs: @classdesc Represents a DXL message broker. Instances of this class are
  created for the purpose of connecting to the DXL fabric.
  
  There are several ways to create broker instances:
  
  * Invoking the {@link Broker} constructor directly
  * Passing a properly formatted string to the {@link Broker.parse} method
  * When creating a {@link Config} object via the
  {@link Config.createDxlConfigFromFile} method
  @param {Array<string>|String} hosts - A single (or array of) host name /
  IP address string(s)
  @param {String} [uniqueId=null] - An optional unique identifier for the
  broker, used to identify the broker in log messages, etc.
  @param {Number|String} [port=8883] - The port of the broker.
  @throws {MalformedBrokerError} If the _port_ is not valid - for example,
  not in the well-known IANA TCP port range (1 - 65535) or cannot be
  converted to a numeric value.
  @constructor