def cached_value(self, source_file, configuration):
key = record_t.create_key(source_file, configuration)<EOL>if key not in self.__cache:<EOL><INDENT>return None<EOL><DEDENT>record = self.__cache[key]<EOL>if self.__is_valid_signature(record):<EOL><INDENT>record.was_hit = True  <EOL>return record.declarations<EOL><DEDENT>del self.__cache[key]<EOL>return None<EOL>
Attempt to lookup the cached declarations for the given file and
configuration.

Returns None if declaration not found or signature check fails.