@ Override public Iterator < Location > iterator ( ) { List < Location > list ; if ( isComplex ( ) ) { list = getSubLocations ( ) ; } else { list = new ArrayList < Location > ( ) ; list . add ( this ) ; } return list . iterator ( ) ; }
Iterates through all known sub - locations for this location but does not descend