code: @Override
      public void preInitialize() {
          synchronized (this) {
              if (isSpecializing() && !preInitialized) {
                  preInitialized = true;
                  preSpecialize();
                  specialize();
                  checkSpecialization();
                  postSpecialize();
              }
          }
      }
docs: Initializes specialization. This method is called before {@link ProcessBeanAttributes} is fired and also after the event
  if the {@link BeanAttributes} have been altered.