Não sei o erro ajuda por favor!

tenho os seguintes trechos aqui no meu programa.

package loca;

import java.util.ArrayList;
import loca.interfaces.InterfacePromocoes;
import loca.clientes.*;
...
	public ArrayList<Filmes> getArrayFilmes() {
		return ArrayFilmes;
	}

	public void setArrayFilmes(ArrayList<Filmes> arrayFilmes) {
		ArrayFilmes = arrayFilmes;
	}
...
	public void alugarFilme(Filmes filme){
		
		filme.setAlugado(true);
		ArrayFilmes.add(filme);
		totalPagar -= promocao.aplicarPromocao(this);
		// Isso é só um teste!
		System.out.println(ArrayFilmes.size());
		
		// Verificando se o cliente é do tipo Especial e Adicionando o filme.
		if(this.cliente instanceof ClienteEspecial){
			ClienteEspecial cl;
			cl = (ClienteEspecial) this.getCliente();
			cl.getAlugados().add(filme);
		}
	}

agora chamo o aplicarPromocao.

import loca.*;
import loca.interfaces.InterfacePromocoes;
import loca.clientes.ClienteEspecial;
...
public double aplicarPromocao(Locacao locacao){
		
		// É só um teste tbm
		double minimo = 0;
		ClienteEspecial cliente = (ClienteEspecial) locacao.getCliente();
		ArrayList <Filmes> filmes = locacao.getArrayFilmes();
		
		for (int i = 0; i < filmes.size() - 1; i++) {
			minimo = Math.min(filmes.get(i).getPreco(), filmes.get(i + 1).getPreco());
		}
		return minimo;
	}
// quando chamo getArrayFilme(), ele diz que: The method getArrayFilmes() is undefined for the type Locacao

Alguem pode me dizer qual é o erro por favor. Obrigado.

esse metodo é do tipo void, ele nao retorna nada! por isso!! mude o tipo do metodo!!

como assim, qual metodo vc ta falando ele ta dando erro no getArrayFilmes(); ele fala pra eu criar o metodo ou fazer um casting.