public String getTypeAlias(String typeSig) {
		String alias = (String) aliasesHash.get(typeSig);
		if (alias == null) {
			StringBuffer newSig = new StringBuffer();
			int index = 0, nextindex;
			while ((nextindex = typeSig.indexOf('L', index)) != -1) {
				newSig.append(typeSig.substring(index, nextindex + 1));
				index = typeSig.indexOf(';', nextindex);
				String typeAlias = getClassAlias(typeSig.substring(
						nextindex + 1, index).replace('/', '.'));
				newSig.append(typeAlias.replace('.', '/'));
			}
			alias = newSig.append(typeSig.substring(index)).toString().intern();
			aliasesHash.put(typeSig, alias);
		}
		return alias;
	}