code: public static Object instantiateClass(Class clazz, Class assignableFrom) {
          if(clazz == null)
              throw new IllegalArgumentException(Bundle.getErrorString("DataGridUtil_CantCreateClass"));
  
          try {
              Object obj = clazz.newInstance();
  
              if(assignableFrom == null || assignableFrom.isAssignableFrom(clazz))
                  return obj;
              else
                  throw new DataGridExtensionException(Bundle.getErrorString("DataGridUtil_InvalidParentClass", new Object[]{clazz.getName(), assignableFrom}));
          }
          catch(Exception e) {
              assert
                      e instanceof DataGridExtensionException ||
                      e instanceof IllegalAccessException ||
                      e instanceof InstantiationException ||
                      e instanceof ClassNotFoundException : "Caught exception of unexpected type " + e.getClass().getName();
  
              String msg = Bundle.getErrorString("DataGridUtil_CantInstantiateClass", new Object[]{e});
              LOGGER.error(msg, e);
              throw new DataGridExtensionException(msg, e);
          }
      }
docs: Utility method that helps instantiate a class used to extend the data grid.
  
  @param clazz the name of a class to instantiate
  @param assignableFrom the type that should be assignable from an instance of type <code>className</code>
  @return an instance of the given class
  @throws org.apache.beehive.netui.databinding.datagrid.api.exceptions.DataGridExtensionException
  when an error occurs creating an instance of the class