@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof BuildMetaClass)) return false; if (!super.equals(o)) return false; BuildMetaClass that = (BuildMetaClass) o; if (dimensions != that.dimensions) return false; if (isAbstract != that.isAbstract) return false; if (isArray != that.isArray) return false; if (isFinal != that.isFinal) return false; if (isInner != that.isInner) return false; if (isInterface != that.isInterface) return false; if (isStatic != that.isStatic) return false; if (!Arrays.equals(_constructorsCache, that._constructorsCache)) return false; if (!Arrays.equals(_fieldsCache, that._fieldsCache)) return false; if (!Arrays.equals(_methodsCache, that._methodsCache)) return false; if (_nameCache != null ? !_nameCache.equals(that._nameCache) : that._nameCache != null) return false; if (className != null ? !className.equals(that.className) : that.className != null) return false; if (constructors != null ? !constructors.equals(that.constructors) : that.constructors != null) return false; if (context != null ? !context.equals(that.context) : that.context != null) return false; if (fields != null ? !fields.equals(that.fields) : that.fields != null) return false; if (generatedCache != null ? !generatedCache.equals(that.generatedCache) : that.generatedCache != null) return false; if (interfaces != null ? !interfaces.equals(that.interfaces) : that.interfaces != null) return false; if (methods != null ? !methods.equals(that.methods) : that.methods != null) return false; if (reifiedFormOf != null ? !reifiedFormOf.equals(that.reifiedFormOf) : that.reifiedFormOf != null) return false; if (scope != that.scope) return false; if (superClass != null ? !superClass.equals(that.superClass) : that.superClass != null) return false; if (typeVariables != null ? !typeVariables.equals(that.typeVariables) : that.typeVariables != null) return false; return true; }