function addElement($fieldName, $element, $headers = null)
    {
        if ($this->_trailingBoundary)
            throw new \Exception('Trailing Boundary Is Added.');
        
        if (! $headers instanceof iHeaders )
            $headers = (! empty($headers) ) ? new CollectionHeader($headers) : new CollectionHeader;


        if ( $this->_addElement($fieldName, $element, $headers) )
            $this->elementsAdded[$fieldName] = $element;

        return $this;
    }