def __init__(self, name="<STR_LIT>", children=None, section_parameters="<STR_LIT>"):
if not isinstance(name, str):<EOL><INDENT>raise TypeError("<STR_LIT>" % name)<EOL><DEDENT>if children is not None:<EOL><INDENT>for child in children:<EOL><INDENT>if not (isinstance(child, CP2KSection) or isinstance(child, CP2KKeyword)):<EOL><INDENT>raise TypeError("<STR_LIT>" % child)<EOL><DEDENT><DEDENT><DEDENT>if not isinstance(section_parameters, str):<EOL><INDENT>raise TypeError("<STR_LIT>" % section_parameters)<EOL><DEDENT>self.__name = name.upper()<EOL>self.__index = {}<EOL>self.__order = []<EOL>if children is not None:<EOL><INDENT>for child in children:<EOL><INDENT>self.append(child)<EOL><DEDENT><DEDENT>self.section_parameters = section_parameters<EOL>
Optional arguments:
 | ``name``  --  the name of the section
 | ``children``  --  a list of CP2KSection and CP2KKeyword objects
 | ``section_parameters``  --  the value assigned to the section