'Return a new ZipPath representing a path in C{self.archive} which is
a child of this path.
@note: Requesting the C{".."} (or other special name) child will not
cause L{InsecurePath} to be raised since these names do not have
any special meaning inside a zip archive.  Be particularly
careful with the C{path} attribute (if you absolutely must use
it) as this means it may include special names with special
meaning outside of the context of a zip archive.'

def child(self, path):

    joiner = _coerceToFilesystemEncoding(path, ZIP_PATH_SEP)
    pathInArchive = _coerceToFilesystemEncoding(path, self.pathInArchive)
    return ZipPath(self.archive, joiner.join([pathInArchive, path]))
