def get_file(self, latitude, longitude):
        """
        If the file can't be found -- it will be retrieved from the server.
        """
        file_name = self.get_file_name(latitude, longitude)

        if not file_name:
            return None

        if (file_name in self.files):
            return self.files[file_name]
        else:
            data = self.retrieve_or_load_file_data(file_name)
            if not data:
                return None

            result = GeoElevationFile(file_name, data, self)

            # Store file (if in batch mode, just keep most recent)
            if self.batch_mode:
                self.files = {file_name: result}
            else:
                self.files[file_name] = result

            return result
If the file can't be found -- it will be retrieved from the server.