/// <summary>
 /// Add CassandraEndpointElement on the inner Array
 /// </summary>
 /// <seealso cref="Aquiles.Configuration.CassandraEndpointElement"/>
 /// <param name="element">element to be added</param>
 public void Add(CassandraEndpointElement element)
 {
     BaseAdd(element);
 }
 /// <summary>
 /// Given a CassandraEndpointElement, it returns its position on the array
 /// </summary>
 /// <seealso cref="Aquiles.Configuration.CassandraEndpointElement"/>
 /// <param name="element">a CassandraEndpointElement contained on the array</param>
 /// <returns>the position of the element</returns>
 public int IndexOf(CassandraEndpointElement element)
 {
     return BaseIndexOf(element);
 }
 /// <summary>
 /// Remove the specified CassandraEndpointElement from the inner Array
 /// </summary>
 /// <seealso cref="Aquiles.Configuration.CassandraEndpointElement"/>
 /// <param name="element">element to be removed</param>
 public void Remove(CassandraEndpointElement element)
 {
     if (BaseIndexOf(element) >= 0)
         BaseRemove(element.Address);
 }
        protected virtual IEndpoint buildEndpoint(CassandraEndpointElement endpointConfig, int defaultTimeout)
        {
            DefaultEndpoint endpoint = new DefaultEndpoint();
            endpoint.Address = endpointConfig.Address;
            endpoint.Port = endpointConfig.Port;
            endpoint.UpDateTime = DateTime.Now;
            endpoint.Timeout = (endpointConfig.Timeout != 0) ? endpointConfig.Timeout : defaultTimeout;

            return endpoint;
        }