public static Keyword constraintSpecialist(ControlFrame frame, Keyword lastmove) {
    lastmove = lastmove;
    { Stella_Object value = null;
      int variableindex = Stella.NULL_INTEGER;

      { Object [] caller_MV_returnarray = new Object[1];

        value = Proposition.computeSimpleRelationConstraint(frame.proposition, null, false, caller_MV_returnarray);
        variableindex = ((int)(((IntegerWrapper)(caller_MV_returnarray[0])).wrapperValue));
      }
      if (value == null) {
        return (Logic.KWD_FAILURE);
      }
      switch (variableindex) {
        case -1: 
          return (Logic.selectTestResult(((BooleanWrapper)(value)) == Stella.TRUE_WRAPPER, true, frame));
        default:
          return (Logic.selectTestResult(Logic.bindArgumentToValueP((frame.proposition.arguments.theArray)[variableindex], value, true), true, frame));
      }
    }
  }