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;
    }
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;
    }
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 ; }
Append Boundary Element

@param string                                       $fieldName Form Field Name
@param UploadedFileInterface|string|StreamInterface $element
@param null|array                                   $headers   Extra Headers To Be Added

@return $this
@throws \Exception
Append Boundary Element