code: public LightweightTypeReference internalGetResolvedTo() {
  		if (resolvedTo != null) {
  			if (!getOwner().isResolved(handle)) {
  				throw new IllegalStateException("owner should know that this one is resolved");
  			}
  			return resolvedTo;
  		}
  		if (getOwner().isResolved(getHandle())) {
  			List<LightweightBoundTypeArgument> hints = getOwner().getAllHints(getHandle());
  			if (hints.isEmpty()) {
  				throw new IllegalStateException("cannot have empty hints if marked as resolved");
  			}
  			if (hints.size() != 1)
  				return null;
  			LightweightBoundTypeArgument singleHint = hints.get(0);
  			if (singleHint.getSource() == BoundTypeArgumentSource.RESOLVED) {
  				resolvedTo = singleHint.getTypeReference();
  				if (!getOwner().isResolved(handle)) {
  					throw new IllegalStateException("owner should know that this one is resolved");
  				}
  				return resolvedTo;
  			}
  		}
  		return null;
  	}
docs: /* @Nullable