docs: private static CallSite createPojoSite(CallSite callSite, Object receiver, Object[] args) {
          final Class klazz = receiver.getClass();
          MetaClass metaClass = InvokerHelper.getMetaClass(receiver);
          if (!GroovyCategorySupport.hasCategoryInCurrentThread() && metaClass instanceof MetaClassImpl) {
              final MetaClassImpl mci = (MetaClassImpl) metaClass;
              final ClassInfo info = mci.getTheCachedClass().classInfo;
              if (info.hasPerInstanceMetaClasses()) {
                  return new PerInstancePojoMetaClassSite(callSite, info);
              } else {
                  return mci.createPojoCallSite(callSite, receiver, args);
              }
          }
  
          ClassInfo info = ClassInfo.getClassInfo(klazz);
          if (info.hasPerInstanceMetaClasses())
            return new PerInstancePojoMetaClassSite(callSite, info);
          else
            return new PojoMetaClassSite(callSite, metaClass);
      }