code: void process() {
          fixImports();
          if (insertRegion != null) {
              data.ensureImport(BeanDefinition.class);
              if (properties.size() > 0) {
                  data.ensureImport(PropertyDefinition.class);
              }
              removeOld();
              if (data.isRootClass() && data.isExtendsDirectBean()) {
                  data.ensureImport(DirectBean.class);
              }
              generateMeta();
              generateSerializationVersionId();
              generatePropertyChangeSupportField();
              generateHashCodeField();
              generateFactory();
              generateImmutableBuilderMethod();
              generateArgBasedConstructor();
              generateBuilderBasedConstructor();
              generateMetaBean();
              generateGettersSetters();
              generateSeparator();
              generateImmutableToBuilder();
              generateClone();
              generateEquals();
              generateHashCode();
              generateToString();
              generateMetaClass();
              generateBuilderClass();
              resolveImports();
              resolveIndents();
          }
      }
docs: -----------------------------------------------------------------------