@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof ExtensionMetaData)) {
            return false;
        }

        ExtensionMetaData that = (ExtensionMetaData) o;

        if (deprecated != that.deprecated) {
            return false;
        }
        if (name != null ? !name.equals(that.name) : that.name != null) {
            return false;
        }
        if (namespace != null ? !namespace.equals(that.namespace) : that.namespace != null) {
            return false;
        }
        if (description != null ? !description.equals(that.description) : that.description != null) {
            return false;
        }
        if (originName != null ? !originName.equals(that.originName) : that.originName != null) {
            return false;
        }
        if (originVersion != null ? !originVersion.equals(that.originVersion) : that.originVersion != null) {
            return false;
        }
        if (parameters != null ? !parameters.equals(that.parameters) : that.parameters != null) {
            return false;
        }
        if (parameterOverloads != null ? !parameterOverloads.equals(that.parameterOverloads) : that.parameterOverloads != null) {
            return false;
        }
        if (systemParameters != null ? !systemParameters.equals(that.systemParameters) : that.systemParameters != null) {
            return false;
        }
        if (returnAttributes != null ? !returnAttributes.equals(that.returnAttributes) : that.returnAttributes != null) {
            return false;
        }
        return examples != null ? examples.equals(that.examples) : that.examples == null;
    }
POJO for holding extension meta data
modules/siddhi-doc-gen/src/main/java/io/siddhi/doc/gen/metadata/ExtensionMetaData.java