typeArgs = new Type[actualTypeArguments.length]; for (int i=0; i<actualTypeArguments.length; i++) { typeArgs[i] = unify(actualTypeArguments[i]); throw new RuntimeException("Type"+type+" doesn't have single upperbound "+(upperBounds!=null ? Arrays.asList(upperBounds) : null)); return unify(upperBounds[0]);