private void prepareSignatures(
	                               final Map<String, ByteClass> byteClasses,
	                               final Multimap<String, String> rdepends,
	                               final BiMap<String, String> nameMaps,
	                               final BiMap<Signature, Signature> signatureMaps
	                               ) {
		for (final ByteClass clazz : byteClasses.values()) {
			if (missingAction == Missing.VERBOSE) {
				getLog().info("Loading class: " + clazz);
			}
			final String name = clazz.getToken();
			nameMaps.put(name, name);
			final Iterable<String> reverseDependencies = rdepends.containsKey(name) ? rdepends.get(name) : ImmutableSet.<String>of();
			for (final Signature signature : clazz.getLocalSignatures()) {
				signatureMaps.put(signature, signature);
				if (signature.isMethod() && !signature.isConstructor()) {
					for (final String rdepend : reverseDependencies) {
						final Signature newSignature = signature.forClassName(rdepend);
						signatureMaps.put(newSignature, newSignature);
					}
				}
			}
		}
	}