src/main/java/com/googlecode/objectify/repackaged/gentyref/CaptureTypeImpl.java
void init(VarMap varMap) {
		ArrayList<Type> upperBoundsList = new ArrayList<>();
		upperBoundsList.addAll(Arrays.asList(varMap.map(variable.getBounds())));
		
		List<Type> wildcardUpperBounds = Arrays.asList(wildcard.getUpperBounds());
		if (wildcardUpperBounds.size() > 0 && wildcardUpperBounds.get(0) == Object.class) {
			// skip the Object bound, we already have a first upper bound from 'variable'
			upperBoundsList.addAll(wildcardUpperBounds.subList(1, wildcardUpperBounds.size()));
		} else {
			upperBoundsList.addAll(wildcardUpperBounds);
		}
		upperBounds = new Type[upperBoundsList.size()]; 
		upperBoundsList.toArray(upperBounds);
	}
void init(VarMap varMap) {
		ArrayList<Type> upperBoundsList = new ArrayList<>();
		upperBoundsList.addAll(Arrays.asList(varMap.map(variable.getBounds())));
		
		List<Type> wildcardUpperBounds = Arrays.asList(wildcard.getUpperBounds());
		if (wildcardUpperBounds.size() > 0 && wildcardUpperBounds.get(0) == Object.class) {
			// skip the Object bound, we already have a first upper bound from 'variable'
			upperBoundsList.addAll(wildcardUpperBounds.subList(1, wildcardUpperBounds.size()));
		} else {
			upperBoundsList.addAll(wildcardUpperBounds);
		}
		upperBounds = new Type[upperBoundsList.size()]; 
		upperBoundsList.toArray(upperBounds);
	}
Initialize this CaptureTypeImpl.
This is needed for type variable bounds referring to each other: we need the capture of the argument.