Today I have  worked on my project in Java to make a refactoring of a class named TableUtil. First I decided to refactor it to Factory Method but I found out that TableUtil class depends on many small independent classes. These small classes are not so well implemented and I need of a new strategy for code refactoring. I realized that it’s very hard to refactor  a core class because it depends from many small and independent classes. These independent classes could be named leaves and the core class could be named the root of the tree. So if you imagine the picture it’s very easy to start tackling with the complexity from the leaves instead of the root. Briefly we need to work on small steps from the periphery of the complicated code to the center of the problem!