private static ITypeConstraint createOrOrSubtypeConstraint(ConstraintVariable var1, ConstraintVariable var2){ ITypeConstraint c1= SimpleTypeConstraint.createSubtypeConstraint(var1, var2); ITypeConstraint c2= SimpleTypeConstraint.createSubtypeConstraint(var2, var1); return new CompositeOrTypeConstraint(new ITypeConstraint[]{c1, c2});
private ITypeConstraint[] createOrOrSubtypeConstraint(ConstraintVariable var1, ConstraintVariable var2){ ITypeConstraint[] c1= fTypeConstraintFactory.createSubtypeConstraint(var1, var2); ITypeConstraint[] c2= fTypeConstraintFactory.createSubtypeConstraint(var2, var1); if (c1.length == 0 && c2.length == 0){ return new ITypeConstraint[0]; } return new ITypeConstraint[]{ fTypeConstraintFactory.createCompositeOrTypeConstraint(new ITypeConstraint[]{c1[0], c2[0]}) };
  private static ITypeConstraint createOrOrSubtypeConstraint(ConstraintVariable var1, ConstraintVariable var2){	  ITypeConstraint c1= SimpleTypeConstraint.createSubtypeConstraint(var1, var2);	  ITypeConstraint c2= SimpleTypeConstraint.createSubtypeConstraint(var2, var1);	  return new CompositeOrTypeConstraint(new ITypeConstraint[]{c1, c2});  }