def _parse_children(self, group, transform=None):
        for child in group.children:
            if isinstance(child, basenodes.Inline):
                # Include the objects from the referenced file into the scene.
                path = os.path.join(os.path.dirname(self.filename),
                                    child.url[0])
                loader = VRML_Loader(self.environment, path,
                                     translation=self.translation,
                                     transform=transform)
                self._objects.extend(loader.get_objects())
            elif isinstance(child, basenodes.Transform):
                # Jumble up transformation matrices, in case they are nested.
                forward = child.localMatrices().data[0]
                if forward is not None:
                    if transform is not None:
                        new_transform = np.dot(transform, forward)
                    else:
                        new_transform = forward
                else:
                    new_transform = transform

                self._parse_children(child, new_transform)
            elif isinstance(child, nodetypes.Grouping):
                # Retrieve children from grouped nodes.
                self._parse_children(child, transform)
            elif isinstance(child, basenodes.Shape):
                # Parse the coordinates from a shape's geometry.
                self._parse_geometry(child.geometry, transform)