@Override
    public int hashCode() {
        int result = name != null ? name.hashCode() : 0;
        result = 31 * result + (namespace != null ? namespace.hashCode() : 0);
        result = 31 * result + (description != null ? description.hashCode() : 0);
        result = 31 * result + (originName != null ? originName.hashCode() : 0);
        result = 31 * result + (originVersion != null ? originVersion.hashCode() : 0);
        result = 31 * result + (parameters != null ? parameters.hashCode() : 0);
        result = 31 * result + (parameterOverloads != null ? parameterOverloads.hashCode() : 0);
        result = 31 * result + (systemParameters != null ? systemParameters.hashCode() : 0);
        result = 31 * result + (returnAttributes != null ? returnAttributes.hashCode() : 0);
        result = 31 * result + (examples != null ? examples.hashCode() : 0);
        result = 31 * result + (deprecated ? 1 : 0);
        return result;
    }
POJO for holding extension meta data
modules/siddhi-doc-gen/src/main/java/io/siddhi/doc/gen/metadata/ExtensionMetaData.java