code: private void addAllDependenciesAndPermissions(final ModuleSpecification moduleSpecification, final AdditionalModuleSpecification module) {
          module.addSystemDependencies(moduleSpecification.getSystemDependencies());
          module.addLocalDependencies(moduleSpecification.getLocalDependencies());
          for(ModuleDependency dep : moduleSpecification.getUserDependencies()) {
              if(!dep.getIdentifier().equals(module.getModuleIdentifier())) {
                  module.addUserDependency(dep);
              }
          }
          for(PermissionFactory factory : moduleSpecification.getPermissionFactories()) {
              module.addPermissionFactory(factory);
          }
      }
docs: Gives any additional modules the same dependencies and permissions as the primary module.
  <p/>
  This makes sure they can access all API classes etc.
  
  @param moduleSpecification The primary module spec
  @param module              The additional module