When a developer customizes Alfresco to add a new webscript or portlet or modify an existing class, the common practice is to create new source code files in the same directory structure as the out-of-the-box Alfresco source files. This can cause maintenance problems because it’s hard to tell which files have been modified and which ones were original. It makes troubleshooting and upgrading much more difficult, and it’s harder to share your code or reuse it in other solutions.