An Experience Using Reflection in Software Engineering