def __init__(self, required=True,element_template=None,<EOL>min_length=None, max_length=None, description=None):
if not isinstance(element_template, DataType):<EOL><INDENT>msg = "<STR_LIT>" % element_template.__class__.__name__<EOL>raise TypeError(msg)<EOL><DEDENT>self._element_template = element_template  <EOL>if isinstance(element_template, DataType) andnot isinstance(element_template, DataCollection) andnot isinstance(element_template, DataStructure):<EOL><INDENT>element_template._required = True<EOL><DEDENT>self._required = required<EOL>self._min_length = min_length<EOL>self._max_length = max_length<EOL>self._description = description<EOL>self._array_elements = list()<EOL>
:param required:
:type required: bool
:param element_template:
:param min_length:
:type min_length: int
:param max_length:
:type max_length: int
:param description:
:type description: str