def METHOD_NAME(self):
    if not any(socket.is_linked for socket in self.outputs):
        return
    vertices_s = self.inputs['Vertices'].sv_get()
    edges_s = self.inputs['Edges'].sv_get()
    faces_s = self.inputs['Faces'].sv_get()
    epsilon_s = self.inputs['Epsilon'].sv_get()
    smooth_s = self.inputs['Smooth'].sv_get()
    scale_s = self.inputs['Scale'].sv_get()
    input_level = get_data_nesting_level(vertices_s)
    vertices_s = ensure_nesting_level(vertices_s, 4)
    edges_s = ensure_nesting_level(edges_s, 4)
    faces_s = ensure_nesting_level(faces_s, 4)
    epsilon_s = ensure_nesting_level(epsilon_s, 2)
    smooth_s = ensure_nesting_level(smooth_s, 2)
    scale_s = ensure_nesting_level(scale_s, 2)
    nested_output = input_level > 3
    fields_out = []
    for params in zip_long_repeat(vertices_s, edges_s, faces_s, epsilon_s, smooth_s, scale_s):
        new_fields = []
        for vertices, edges, faces, epsilon, smooth, scale in zip_long_repeat(*params):
            bm = bmesh_from_pydata(vertices, edges, faces, normal_update=True)
            field = mesh_field(bm, self.function, smooth, epsilon, scale,
                        use_verts = self.use_verts,
                        use_edges = self.use_edges,
                        use_faces = self.use_faces)
            new_fields.append(field)
        if nested_output:
            fields_out.append(new_fields)
        else:
            fields_out.extend(new_fields)
    self.outputs['Field'].sv_set(fields_out)