code: protected boolean isLikelyAValidConstraintBound(JvmTypeReference constraintBound) {
  		if (constraintBound == null)
  			return true;
  		if (constraintBound instanceof JvmSpecializedTypeReference) {
  			JvmTypeReference equivalent = (JvmTypeReference) constraintBound.eGet(TypesPackage.Literals.JVM_SPECIALIZED_TYPE_REFERENCE__EQUIVALENT, false);
  			if (equivalent != null) {
  				return isLikelyAValidConstraintBound(equivalent);
  			}
  			return true;
  		}
  		boolean invalid = (constraintBound.getType() instanceof JvmPrimitiveType 
  					|| (constraintBound.getType() instanceof JvmVoid && !constraintBound.getType().eIsProxy()));
  		return !invalid;
  	}
docs: Constraint bounds are definitely invalid if they are <code>not null</code> and point to a primitive type.
  {@link JvmSpecializedTypeReference} will not be resolved by this check thus they may lead to finally
  invalid constraint bounds.
  
  @param constraintBound the reference that shall be come the new constraint.
  @return <code>false</code> if the given constraint is definitely invalid.