private boolean checkIfTabStop(int currentVariableNumber) {
    Expression expression = getTemplate().getExpressionAt(currentVariableNumber);
    if (myCurrentVariableNumber == -1) {
      if (getTemplate().skipOnStart(currentVariableNumber)) return false;
    }
    String variableName = getTemplate().getVariableNameAt(currentVariableNumber);
    if (getPredefinedVariableValues() == null || !getPredefinedVariableValues().containsKey(variableName)) {
      if (getTemplate().isAlwaysStopAt(currentVariableNumber)) {
        return true;
      }
    }
    int segmentNumber = getTemplate().getVariableSegmentNumber(variableName);
    if (segmentNumber < 0) return false;
    int start = getSegments().getSegmentStart(segmentNumber);
    ExpressionContext context = createExpressionContext(start);
    Result result = expression.calculateResult(context);
    if (result == null) {
      return true;
    }
    LookupElement[] items = expression.calculateLookupItems(context);
    return items != null && items.length > 1;
  }
private boolean checkIfTabStop(int currentVariableNumber)