code: public void populateFromObj(ClassObj obj) {
      super.populateFromObj(obj);
      final String implName = obj.getFullPackageName() + "." + obj.getName();
      setProperty(CLASS_IMPL_PROP, obj.getName());
      setPackageName(obj. getPrimaryImpl().getPackageName() + "." + SUB_PACKAGE);
      setSuperClass("AbstractCycModelObjectProvider");
      addImports(Arrays.asList(implName,
              AbstractCycModelObjectProvider.class.getCanonicalName(),
              ModelException.class.getCanonicalName(),
              ModelRuntimeException.class.getCanonicalName(),
              "java.io.IOException",
              "java.util.ArrayList",
              "java.util.Collections",
              "java.util.Comparator",
              "java.util.HashSet",
              "java.util.List",
              "java.util.Set",
              CycApiException.class.getCanonicalName(),
              CycObject.class.getCanonicalName(),
              CycVariableImpl.class.getCanonicalName(),
              QueryResultSet.class.getCanonicalName(),
              InferenceResultSet.class.getCanonicalName()//,
              // TimeOutException.class.getCanonicalName()
              ));
      setName(obj.getPrimaryImpl().getName());
      setInterfaceObjs(new ArrayList());
    }
docs: Public