code: public RuntimeCapability<T> fromBaseCapability(String ... dynamicElement) {
          assert isDynamicallyNamed();
          assert dynamicElement != null;
          assert dynamicElement.length > 0;
          return new RuntimeCapability<T>(getName(), serviceValueType, getServiceName(), runtimeAPI,
                  getRequirements(), allowMultipleRegistrations,dynamicNameMapper, additionalPackages,
                  dynamicElement);
  
      }
docs: Creates a fully named capability from a {@link #isDynamicallyNamed() dynamically named} base
  capability. Capability providers should use this method to generate fully named capabilities in logic
  that handles dynamically named resources.
  
  @param dynamicElement the dynamic portion of the full capability name. Cannot be {@code null} or empty
  @return the fully named capability.
  
  @throws AssertionError if {@link #isDynamicallyNamed()} returns {@code false}