code: private ClassTypeSignature getClassTypeSignature(
  			ParameterizedType parameterizedType) {
  		Class<?> rawType = (Class<?>) parameterizedType.getRawType();
  		Type[] typeArguments = parameterizedType.getActualTypeArguments();
  		TypeArgSignature[] typeArgSignatures = new TypeArgSignature[typeArguments.length];
  		for (int i = 0; i < typeArguments.length; i++) {
  			typeArgSignatures[i] = getTypeArgSignature(typeArguments[i]);
  		}
  
  		String binaryName = rawType.isMemberClass() ? rawType.getSimpleName()
  				: rawType.getName();
  		ClassTypeSignature ownerTypeSignature = parameterizedType
  				.getOwnerType() == null ? null
  				: (ClassTypeSignature) getFullTypeSignature(parameterizedType
  						.getOwnerType());
  		ClassTypeSignature classTypeSignature = new ClassTypeSignature(
  				binaryName, typeArgSignatures, ownerTypeSignature);
  		return classTypeSignature;
  	}
docs: get the ClassTypeSignature corresponding to given parameterized type
  
  @param parameterizedType
  @return