code: public static final SgClass getNonPrimitiveClass(final SgClassPool pool, final SgClass primitive) {
          if (primitive.equals(BOOLEAN)) {
              return SgClass.create(pool, Boolean.class);
          }
          if (primitive.equals(BYTE)) {
              return SgClass.create(pool, Byte.class);
          }
          if (primitive.equals(CHAR)) {
              return SgClass.create(pool, Character.class);
          }
          if (primitive.equals(SHORT)) {
              return SgClass.create(pool, Short.class);
          }
          if (primitive.equals(INT)) {
              return SgClass.create(pool, Integer.class);
          }
          if (primitive.equals(LONG)) {
              return SgClass.create(pool, Long.class);
          }
          if (primitive.equals(FLOAT)) {
              return SgClass.create(pool, Float.class);
          }
          if (primitive.equals(DOUBLE)) {
              return SgClass.create(pool, Double.class);
          }
          throw new IllegalArgumentException("No primitive or 'void' class: '" + primitive.getName()
                  + "'!");
      }
docs: Returns the corresponding class for a primitive.
  
  @param pool
  Pool to use.
  @param primitive
  Primitive class to convert. A call to {@link #isPrimitive()}
  on this argument must return true and a call to
  <code>equals(SgClass.VOID)</code> returns false else an
  {@link IllegalArgumentException} will be thrown.
  
  @return Non primitive class.