def METHOD_NAME(self):
    if not enable_module:
        raise Exception("The dependent library is not installed (pyOpenSubdiv).")
    vert_sets = self.inputs['Vertices'].sv_get(default=[],deepcopy=False)
    edges = []         
    face_sets = self.inputs['Faces'].sv_get(default=[],deepcopy=False)
    new_meshes = {
        'vertices':[],            
        'edges':[],
        'faces':[]
    }
    if(vert_sets != [] and face_sets != []):
        subdivision_levels = self.inputs["Levels"].sv_get()[0]
        # This is definitely gonna crash. 
        # I think I'll take the "wait and see how" approach?
        parameters = zip(*match_long_repeat([subdivision_levels,vert_sets,face_sets]))
        for params in parameters:
            subdivision_level = params[0] if params[0] <= self.maxSubdivision else self.maxSubdivision
            vertices = params[1]
            faces = params[2] 
            faceVerts = list(chain.from_iterable(faces))
            vertsPerFace = [len(face) for face in faces]
            new_mesh = pysubdivide(subdivision_level,
            vertices,
            faces,
            faceVerts,
            vertsPerFace,
            verbose = False
            )
            new_meshes['vertices'].append(new_mesh['vertices'])
            new_meshes['edges'].append(new_mesh['edges'])
            new_meshes['faces'].append(new_mesh['faces'])
    self.outputs['Vertices'].sv_set(new_meshes['vertices'])
    self.outputs['Edges'].sv_set(new_meshes['edges'])
    self.outputs['Faces'].sv_set(new_meshes['faces'])