code: static Descriptor createFromImplModelType(final Class<? extends Descriptor> implClass, String descriptorName)
          throws IllegalArgumentException {
          // Precondition checks
          if (implClass == null) {
              throw new IllegalArgumentException("implClass must be specified");
          }
          if (descriptorName == null || descriptorName.length() == 0) {
              throw new IllegalArgumentException("descriptorName must be specified");
          }
  
          // Get the constructor to use in making the new instance
          final Constructor<? extends Descriptor> ctor;
          try {
              ctor = implClass.getConstructor(String.class);
          } catch (final NoSuchMethodException nsme) {
              throw new RuntimeException(implClass + " must contain a constructor with a single String argument");
          }
  
          // Create a new descriptor instance using the backing model
          final Descriptor descriptor;
          try {
              descriptor = ctor.newInstance(descriptorName);
          }
          // Handle all construction errors equally
          catch (final Exception e) {
              throw new RuntimeException("Could not create new descriptor instance", e);
          }
  
          // Return
          return descriptor;
      }
docs: Creates a {@link Descriptor} instance from the specified implementation class name, also using the specified name
  
  @param implClass
  @param descriptorName
  @return
  @throws IllegalArgumentException
  If either argument is not specified