I don't find the appropriate solution for my question. As far as I know returning null is a not a good way to write clean code, as the book Clean Code says. However there are many different opinions about this practice, and I am not sure about which one fits on my function.
private EArea getSimilarExistingArea(EImportArea importedArea) {
    for (EArea existingArea : exsitingAreas) {
        EList<EPoint> importedAreaPoints = importedArea.getPoly().getPoints();
        EList<EPoint> existingAreaPoints = existingArea.getPoly().getPoints();
        for (EPoint importedAreaPoint : importedAreaPoints) {
            for (EPoint existingAreaPoint : existingAreaPoints) {
                if (importedAreaPoint.equals(existingAreaPoint))
                    return existingArea;
            }
        }
    }
    return null;
}
What should I return if there is not an existing similar area?
PD: For optimize my code I am breaking the loops with the return if an existing area is founded.
 
    