Declaration (@NotNull String varName, @NotNull ImperativeCommand.Environment env) { VarType varType = env.generateValue(Generator.sampledFrom(VarType.values()), null); boolean isCallExpression = env.generateValue(Generator.booleans(), null); Expression expression = isCallExpression ? CallExpression.generate(env) : LiteralExpression.generate(env); return new Declaration(varName, varType, expression); }