In a large bowl, combine flour, sugar, salt, and yeast. Add cold water and mix until a shaggy dough forms.
Turn the dough out onto a lightly floured surface and knead for 5 minutes. Flatten the dough into a rectangle, wrap in plastic wrap, and chill for 30 minutes.
Place the cold butter between two sheets of parchment paper and flatten into a 6-inch square. Chill for 15 minutes.
Place the butter square in the center of the dough rectangle. Fold the sides of the dough over the butter, sealing it completely. Roll the dough into a long rectangle, about 12x6 inches. Fold the dough into thirds, like a letter. Wrap and chill for 30 minutes.
Repeat the rolling and folding process twice more, chilling for 30 minutes between each fold.
After the final chill, roll the dough into a rectangle about 12x18 inches. Cut the dough into triangles. Place a chocolate baton at the base of each triangle and roll up to form a croissant shape. Place the croissants on a baking sheet lined with parchment paper.
Brush the croissants with egg wash and let them proof for 30-60 minutes, or until doubled in size. Preheat oven to 375°F (190°C). Bake for 18-20 minutes, or until golden brown. Let cool slightly before serving.
Notes
Enjoy fresh out of the oven with a cup of coffee or tea!