@SuppressWarnings("unchecked") private boolean canBind(final Gearing gearing,final IBindingSet childSolutionIn,final IConstant<?> seed){
  if (gearing.outVar == null)   return seed.equals(gearing.outConst);
  if (!childSolutionIn.isBound(gearing.outVar))   return true;
  return seed.equals(childSolutionIn.get(gearing.outVar));
}

@ SuppressWarnings ( "unchecked" ) private boolean canBind ( final Gearing gearing , final IBindingSet childSolutionIn , final IConstant < ? > seed ) { if ( gearing . outVar == null ) return seed . equals ( gearing . outConst ) ; if ( ! childSolutionIn . isBound ( gearing . outVar ) ) return true ; return seed . equals ( childSolutionIn . get ( gearing . outVar ) ) ; }
is it possible to bind the out of the gearing to the seed ? this may be because it is an unbound variable , or it may be that it is already the seed ( either as a const or as a var )
