func (s *SecurityIdentificationDataElement) UnmarshalHBCI(value []byte) error {
	elements, err := ExtractElements(value)
	if err != nil {
		return err
	}
	if len(elements) < 3 {
		return fmt.Errorf("Malformed marshaled value")
	}
	s.DataElement = NewDataElementGroup(securityIdentificationDEG, 3, s)
	if len(elements) > 0 && len(elements[0]) > 0 {
		s.SecurityHolder = &AlphaNumericDataElement{}
		err = s.SecurityHolder.UnmarshalHBCI(elements[0])
		if err != nil {
			return err
		}
	}
	if len(elements) > 1 && len(elements[1]) > 0 {
		s.CID = &BinaryDataElement{}
		err = s.CID.UnmarshalHBCI(elements[1])
		if err != nil {
			return err
		}
	}
	if len(elements) > 2 && len(elements[2]) > 0 {
		s.ClientSystemID = &IdentificationDataElement{}
		err = s.ClientSystemID.UnmarshalHBCI(elements[2])
		if err != nil {
			return err
		}
	}
	return nil
}
// UnmarshalHBCI unmarshals value into the DataElement
UnmarshalHBCI unmarshals value into the DataElement
// UnmarshalHBCI unmarshals value into the DataElement
func (s *SecurityIdentificationDataElement) UnmarshalHBCI(value []byte) error {
	elements, err := ExtractElements(value)
	if err != nil {
		return err
	}
	if len(elements) < 3 {
		return fmt.Errorf("Malformed marshaled value")
	}
	s.DataElement = NewDataElementGroup(securityIdentificationDEG, 3, s)
	if len(elements) > 0 && len(elements[0]) > 0 {
		s.SecurityHolder = &AlphaNumericDataElement{}
		err = s.SecurityHolder.UnmarshalHBCI(elements[0])
		if err != nil {
			return err
		}
	}
	if len(elements) > 1 && len(elements[1]) > 0 {
		s.CID = &BinaryDataElement{}
		err = s.CID.UnmarshalHBCI(elements[1])
		if err != nil {
			return err
		}
	}
	if len(elements) > 2 && len(elements[2]) > 0 {
		s.ClientSystemID = &IdentificationDataElement{}
		err = s.ClientSystemID.UnmarshalHBCI(elements[2])
		if err != nil {
			return err
		}
	}
	return nil
}
func ( s * SecurityIdentificationDataElement ) UnmarshalHBCI ( value [ ] byte ) error { elements , err := ExtractElements ( value ) if err != nil { return err } if len ( elements ) < 3 { return fmt . Errorf ( " " ) } s . DataElement = NewDataElementGroup ( securityIdentificationDEG , 3 , s ) if len ( elements ) > 0 && len ( elements [ 0 ] ) > 0 { s . SecurityHolder = & AlphaNumericDataElement { } err = s . SecurityHolder . UnmarshalHBCI ( elements [ 0 ] ) if err != nil { return err } } if len ( elements ) > 1 && len ( elements [ 1 ] ) > 0 { s . CID = & BinaryDataElement { } err = s . CID . UnmarshalHBCI ( elements [ 1 ] ) if err != nil { return err } } if len ( elements ) > 2 && len ( elements [ 2 ] ) > 0 { s . ClientSystemID = & IdentificationDataElement { } err = s . ClientSystemID . UnmarshalHBCI ( elements [ 2 ] ) if err != nil { return err } } return nil }
UnmarshalHBCI unmarshals value into the DataElement
UnmarshalHBCI unmarshals value into the DataElement