code: protected List<LightweightTypeReference> computeCollectionTypeCandidates(XCollectionLiteral literal, JvmGenericType collectionType, LightweightTypeReference elementTypeExpectation, ITypeComputationState state) {
  		List<XExpression> elements = literal.getElements();
  		if(!elements.isEmpty()) {
  			List<LightweightTypeReference> elementTypes = Lists.newArrayListWithCapacity(elements.size());
  			for(XExpression element: elements) {
  				ITypeComputationResult elementType = computeTypes(element, elementTypeExpectation, state);
  				LightweightTypeReference actualType = elementType.getActualExpressionType();
  				if(actualType != null && !actualType.isAny()) {
  					ParameterizedTypeReference collectionTypeCandidate = state.getReferenceOwner().newParameterizedTypeReference(collectionType);
  					collectionTypeCandidate.addTypeArgument(actualType.getWrapperTypeIfPrimitive());
  					elementTypes.add(collectionTypeCandidate);
  				}
  			}
  			return elementTypes;
  		}
  		return Collections.emptyList();
  	}
docs: Creates a list of collection type references from the element types of a collection literal.