methodHashMap.put(XMethodFactory.createXMethod(javaClass, method), methodHash);
methodHashMap.put(XFactory.createXMethod(javaClass, method), methodHash);
	public ClassHash computeHash(JavaClass javaClass) {		this.className = javaClass.getClassName();				Method[] methodList = new Method[javaClass.getMethods().length];				// Sort methods		System.arraycopy(javaClass.getMethods(), 0, methodList, 0, javaClass.getMethods().length);		Arrays.sort(methodList, new Comparator<Method>() {			public int compare(Method o1, Method o2) {				// sort by name, then signature				int cmp = o1.getName().compareTo(o2.getName());				if (cmp != 0)					return cmp;				return o1.getSignature().compareTo(o2.getSignature());							}		});				Field[] fieldList = new Field[javaClass.getFields().length];				// Sort fields		System.arraycopy(javaClass.getFields(), 0, fieldList, 0, javaClass.getFields().length);		Arrays.sort(fieldList, new Comparator<Field>() {			/* (non-Javadoc)			 * @see java.util.Comparator#compare(T, T)			 */			public int compare(Field o1, Field o2) {				int cmp = o1.getName().compareTo(o2.getName());				if (cmp != 0)					return cmp;				return o1.getSignature().compareTo(o2.getSignature());			}		});				MessageDigest digest;		try {			digest = MessageDigest.getInstance("MD5");		} catch (NoSuchAlgorithmException e) {			throw new IllegalStateException("No algorithm for computing class hash", e);		}				// Compute digest of method names and signatures, in order.		// Also, compute method hashes.		CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder();		for (Method method : methodList) {			work(digest, method.getName(), encoder); 			work(digest, method.getSignature(), encoder);						MethodHash methodHash = new MethodHash().computeHash(method);			methodHashMap.put(XMethodFactory.createXMethod(javaClass, method), methodHash);		}				// Compute digest of field names and signatures.		for (Field field : fieldList) {			work(digest, field.getName(), encoder);			work(digest, field.getSignature(), encoder);		}				classHash = digest.digest();				return this;	}