private static void performParentChecks(
	                                        final Store store,
	                                        final BiMap<String, String> nameMaps,
	                                        final BiMap<Signature, Signature> inverseSignatureMaps,
	                                        final MutableSignature mutableSignature,
	                                        Object className_s,
	                                        final String newName,
	                                        final String oldName,
	                                        final String description,
	                                        final String originalDescription
	                                        ) {
		final Set<String> parents = store.parents;
		if (parents != null) {
			parents.removeAll(store.searchCache);
			if (parents.isEmpty())
				return;

			if (className_s instanceof String) {
				className_s = nameMaps.get(className_s);
			} else {
				final Collection<String> originalClassNames = newArrayList();
				for (final Object className : (Iterable<?>) className_s) {
					originalClassNames.add(nameMaps.get(className));
				}
				className_s = originalClassNames;
			}
			for (final String parent : parents) {
				if (inverseSignatureMaps.containsKey(mutableSignature.update(parent, oldName, description))) {
					store.instance.getLog().info(String.format(
						"Expected parent method mapping for `%s'->`%s' from mappings in %s",
						mutableSignature.update(nameMaps.get(parent), oldName, originalDescription),
						mutableSignature.forElementName(newName),
						className_s
						));
				}
			}
			parents.clear();
		}
	}