class SimpleManagedResource extends AbstractManagedResource {

   @Override
   public Registration registerSubResource(String name, ManagedDescription description)
   {
      if (name == null) throw new IllegalArgumentException("name is null");
      if (description == null) throw new IllegalArgumentException("description is null");

      if (name.charAt(0) == '/') name = name.substring(1, name.length());

      PathElement element;
      try
      {
         element = PathElement.pathElement(name);
      }
      catch (PatternSyntaxException e)
      {
         throw new ManagementException("Could not parse path template " + name, e);
      }

      SimpleManagedResource resource = new SimpleManagedResource(element, this, description);
      if (children.putIfAbsent(element.getValue(), resource) != null)
      {
         throw new IllegalArgumentException("Resource " + name + " already exists for path " + getPath());
      }

      return resource;
   }

   public  SimpleManagedResource(PathElement pathElement, AbstractManagedResource parent, ManagedDescription description);

}