Finely dice the ham, onion, and green pepper. Shred the cheese and set aside. Divide the butter into three portions of approximately 1 teaspoon each.
Melt one portion of butter in an 8-inch nonstick skillet over medium heat. Add the onion and pepper. Cook for 3–4 minutes, stirring frequently, until softened.
Add the fully cooked ham and cook for another 1–2 minutes, stirring, until hot. Transfer the filling to a small bowl and divide it into two equal portions.
Beat the eggs with the water and black pepper until the yolks and whites are evenly combined. No additional salt is included because the ham and cheese already provide salt.
Reduce the heat to medium-low. Melt another portion of butter in the skillet and swirl to coat the base.
Pour in half the egg mixture. As the edges begin to set, gently push them toward the center with a spatula, tilting the skillet so the uncooked egg flows into the cleared spaces.
Continue cooking for approximately 2–3 minutes, until the egg forms a cohesive round and the top is mostly set. Reduce the heat if the underside begins browning quickly.
Arrange half the warm ham-and-vegetable filling over one half of the egg round. Top with half the shredded cheese, keeping the filling away from the outer edge.
Use the spatula to fold the unfilled half over the filling. Cover and cook over low heat for approximately 1–2 minutes, until the cheese melts and the egg is fully set, with no wet or runny egg remaining.
Slide the first omelet onto a plate and cover loosely to keep warm.
Add the final portion of butter to the skillet. Repeat with the remaining egg mixture, filling, and cheese. Stir the egg mixture briefly before pouring it into the pan.