code: public final MetaClass getMetaClass() {
          MetaClass answer = getMetaClassForClass();
          if (answer != null) return answer;
  
          lock();
          try {
              return getMetaClassUnderLock();
          } finally {
              unlock();
          }
      }
docs: Returns the {@code MetaClass} for the {@code Class} associated with this {@code ClassInfo}.
  If no {@code MetaClass} exists one will be created.
  <p>
  It is not safe to call this method without a {@code Class} associated with this {@code ClassInfo}.
  It is advisable to aways retrieve a ClassInfo instance from the cache by using the static
  factory method {@link ClassInfo#getClassInfo(Class)} to ensure the referenced Class is
  strongly reachable.
  
  @return a {@code MetaClass} instance