Devo usar os metódos de operações dentro do switch ou no método main? já tenho as classes e métodos de inserir,remover prontos

import java.util.Scanner;

public class Principal {

public static void main(String[] args) {
	menu();
	
}

public static void menu(){
	Scanner entrada=new Scanner(System.in);
	        int opc;
		System.out.println("Qual lista você deseja implementar? ");
		System.out.println("1-Lista Sequencial ");
		System.out.println("2-Lista Encadeada ");
		System.out.println("3-Sair ");
		opc=entrada.nextInt();
		switch(opc){
		case 1: listaSeq();break;
		case 2: listaEnc();break;
		case 3: System.out.println("Encerrado!");break;
		default:System.out.println("Opção Inválida!");menu();
		}
	
}

public static void listaSeq(){
		System.out.println("O que você deseja fazer? ");
		System.out.println("1-Criar lista ");
		System.out.println("2-Inserir elemento");
		System.out.println("3-Remover elemento ");
		System.out.println("4-Exibir a lista ");
		System.out.println("5-Retornar ao menu anterior ");
	
}

public static void listaEnc(){
	System.out.println("O que você deseja fazer? ");
	System.out.println("1-Criar lista ");
	System.out.println("2-Inserir elemento");
	System.out.println("3-Remover elemento ");
	System.out.println("4-Exibir a lista ");
	System.out.println("5-Retornar ao menu anterior ");
	
}

}

Cara, na boa, é impossível responder essa pergunta sem conhecer o contexto. É pedir muito explicar?