@Override
            public int getSuperclassFieldPadding() {
                return 8;
            }
Given an object, returns the total allocated size, in bytes, of the object
and all other objects reachable from it.  Attempts to to detect the current JVM memory layout,
but may fail with {@link UnsupportedOperationException};

@param obj the object; can be null. Passing in a {@link java.lang.Class} object doesn't do
           anything special, it measures the size of all objects
           reachable through it (which will include its class loader, and by
           extension, all other Class objects loaded by
           the same loader, and all the parent class loaders). It doesn't provide the
           size of the static fields in the JVM class that the Class object
           represents.
@return the total allocated size of the object and all other objects it
retains.
@throws UnsupportedOperationException if the current vm memory layout cannot be detected.
modules/siddhi-core/src/main/java/io/siddhi/core/util/statistics/memory/ObjectSizeCalculator.java