code: protected LightweightTypeReference getMergedType(List<LightweightTypeReference> types) {
  		if (types.isEmpty()) {
  			return null;
  		}
  		if (types.size() == 1) {
  			LightweightTypeReference result = types.get(0);
  			return result;
  		}
  		LightweightTypeReference result = getServices().getTypeConformanceComputer().getCommonSuperType(types, getReferenceOwner());
  		if (result != null || types.isEmpty()) {
  			return result;
  		}
  		// common type of JvmAnyType and JvmVoid may be null ... use JvmAnyType in that case
  		for (LightweightTypeReference type: types) {
  			if (!type.isType(Void.TYPE)) {
  				return type;
  			}
  		}
  		return types.get(0);
  	}
docs: /* @Nullable