* For given {@link IPackageFragment} in "source" package, returns {@link IPackageFragment} in
* "server" package.
*/
private String getServerPackageName(IPackageFragment sourcePackageFragment) throws Exception {
// prepare information about module
ModuleDescription moduleDescription = Utils.getSingleModule(sourcePackageFragment);
String basePackageName = moduleDescription.getModulePackage().getElementName();
String sourcePackageName = Utils.getRootSourcePackage(sourcePackageFragment).getElementName();
// use same sub-package in "server" as sub-package in "client"
String servicePackageName = sourcePackageFragment.getElementName();
String serviceSubPackageName = servicePackageName.substring(sourcePackageName.length());
return basePackageName + ".server" + serviceSubPackageName;