private boolean parseTerminalClause(PsiBuilder builder) {
    PsiBuilder.Marker marker = builder.mark();
    if (!parseFieldName(builder)) {
      marker.drop();
      return false;
    }
    if (advanceIfMatches(builder, JqlTokenTypes.IS_KEYWORD)) {
      advanceIfMatches(builder, JqlTokenTypes.NOT_KEYWORD);
      parseOperand(builder);
    }
    else if (advanceIfMatches(builder, JqlTokenTypes.SIMPLE_OPERATORS) || advanceIfMatches(builder, JqlTokenTypes.IN_KEYWORD)) {
      parseOperand(builder);
    }
    else if (advanceIfMatches(builder, JqlTokenTypes.NOT_KEYWORD)) {
      if (!advanceIfMatches(builder, JqlTokenTypes.IN_KEYWORD)) {
        builder.error(TaskBundle.message("parsing.error.expecting.in"));
      }
      parseOperand(builder);
    }
    else if (builder.getTokenType() == JqlTokenTypes.WAS_KEYWORD) {
      parseWASClause(builder);
      marker.done(JqlElementTypes.WAS_CLAUSE);
      return true;
    }
    else if (builder.getTokenType() == JqlTokenTypes.CHANGED_KEYWORD) {
      parseCHANGEDClause(builder);
      marker.done(JqlElementTypes.CHANGED_CLAUSE);
      return true;
    }
    else {
      builder.error(TaskBundle.message("parsing.error.expecting.operator"));
    }
    marker.done(JqlElementTypes.SIMPLE_CLAUSE);
    return true;
  }
private boolean parseTerminalClause(PsiBuilder builder)