removed copied spring framework code to avoid split packages