<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def directory_create(self, path, mode, flags):
 """Creates a directory in the guest. in path of type str Path to the directory directory to be created. Guest path style. in mode of type int The UNIX-style access mode mask to create the directory with. Whether/how all three access groups and associated access rights are realized is guest OS dependent. The API does the best it can on each OS. in flags of type :class:`DirectoryCreateFlag` Zero or more :py:class:`DirectoryCreateFlag` flags. raises :class:`VBoxErrorIprtError` Error while creating the directory. """

        if not isinstance(path, basestring):
            raise TypeError("path can only be an instance of type basestring")
        if not isinstance(mode, baseinteger):
            raise TypeError("mode can only be an instance of type baseinteger")
        if not isinstance(flags, list):
            raise TypeError("flags can only be an instance of type list")
        for a in flags[:10]:
            if not isinstance(a, DirectoryCreateFlag):
                raise TypeError(
                        "array can only contain objects of type DirectoryCreateFlag")
        self._call("directoryCreate",
                     in_p=[path, mode, flags])