code: @Override
      public Container getEnclosingContainer() {
          com.ibm.wsspi.artifact.ArtifactContainer parent = delegate.getEnclosingContainer();
          if (parent != null) {
              if (this.isRoot()) {
                  //the parent is in a different root so find out all the information we need about this root
                  RootInformation rootInformation = this.getRootInformation(parent, parent);
                  return new InterpretedContainerImpl(parent, rootInformation.root, rootInformation.overlay, factoryHolder, structureHelper, rootInformation.structureHelperRoot);
              } else {
                  //easy option, the delegate was not a root, so going upwards would not be a different root. 
                  return new InterpretedContainerImpl(delegate.getEnclosingContainer(), root, rootOverlay, factoryHolder, structureHelper, structureHelperLocalRootDelegate);
              }
          } else
              return null;
      }
docs: {@inheritDoc}