[RESOLVIDO]Problema ao passar valor para outro array

Bom dia .

Estou com um problema no meu código , se alguém puder me ajudar agradeceria muito.

É o seguinte tenho o método alocarProcessoParaMS()(Memória principal para secundaria) , utilizo dois arrays para esse processo.
Não estou conseguindo passar o valor para o segundo array (secundaria)é deletar o valor do array (principal).

arrays

	static ArrayList<Memoria> principal = new ArrayList<Memoria>();
	static ArrayList<Secundaria> secundaria = new ArrayList<Secundaria>();	

Método que adiciona o processo

private static void adicionarProcesso(){

		Memoria memoria = new Memoria();
		Secundaria secundaria1 = new Secundaria();
		if(principal.size() == 2){ 
			System.out.println("Memória Principal insuficiente");
			System.out.println("Seus processos serão alocados na memória Secundaria");
			System.out.println("Informe o número do processo: ");
			int secundaria2 = scan.nextInt();
			secundaria1.setMemoria(secundaria2);
			secundaria.add(secundaria1);
		}else{
			System.out.println("Informe o número do processo: ");
			int principal2 = scan.nextInt();
			memoria.setMemoria(principal2);
			principal.add(memoria);
		}
	}

Método que deveria passar o valor para o array(secundario).

	private static void alocarProcessoParaMS() throws Exception{
		Scanner scan = new Scanner(System.in);
		Memoria memoria = new Memoria();
		System.out.print("Informe o nome do processo para sua alocação");
		memoria.setMemoria(scan.nextInt());
		int pos = principal.indexOf(memoria);
		secundaria.add(memoria);            / / esta dando erro aqui
		principal.remove(pos);
		System.out.print("\nPROCESSO Realocado para MS com Sucesso: " + principal);

	}

Obg.

O array secundaria aceita elementos do tipo Secundaria. Estás a tentar adicionar um elemento memoria que é do tipo Memoria. A não ser que Memoria extenda de Secundaria, vai dar erro.

Obg Resolvido.

Criei duas classes principal e secundaria é estendi de memoria.