public Binding sink(final PsiType x, final PsiType y, final Set<? super Constraint> constraints) {
    return balance(x, y, new Balancer() {
                     @Override
                     public Binding varType(final PsiTypeVariable x, final PsiType y) {
                       return create(x, y);
                     }

                     @Override
                     public Binding varVar(final PsiTypeVariable x, final PsiTypeVariable y) {
                       return create(y, Bottom.BOTTOM);
                     }

                     @Override
                     public Binding typeVar(final PsiType x, final PsiTypeVariable y) {
                       return create(y, Bottom.BOTTOM);
                     }
                   }, constraints);
  }
public Binding sink(final PsiType x, final PsiType y, final Set<? super Constraint> constraints)