private String getFieldsList(SelectMethod selectMethod, Field... fields)
    {
        switch (selectMethod)
        {
            case NORMAL:
                return new FieldsPart(Arrays.asList(fields)).toSql();
            case COUNT:
                return " COUNT(" + new FieldsPart(Arrays.asList(fields)).toSql() + ")";
            case DISTINCT:
                return " DISTINCT " + new FieldsPart(Arrays.asList(fields)).toSql() + " ";
            default:
                throw new RuntimeException("Implement SelectMethod " + selectMethod.name());
        }
    }