code: public LightweightTypeReference resolve() {
  		if (internalIsResolved())
  			return resolvedTo;
  		List<LightweightBoundTypeArgument> allHints = getAllHints();
  		if (!allHints.isEmpty() && resolveWithHints(allHints)) {
  			LightweightTypeReference result = internalGetResolvedTo();
  			if (result != null) {
  				return result;
  			}
  		}
  		resolveAgainstConstraints();
  		return resolvedTo;
  	}
docs: Force this reference to be resolved. If not hints are available,
  the reference is resolved to the constraints of the type parameters.
  @return the resolved representation. Never <code>null</code>.