class AssetUniverse extends AssetDetail {

    @Override
    public boolean equals(Object objectToCompare)
    {
        if (this == objectToCompare)
        {
            return true;
        }
        if (!(objectToCompare instanceof AssetUniverse))
        {
            return false;
        }
        if (!super.equals(objectToCompare))
        {
            return false;
        }
        AssetUniverse that = (AssetUniverse) objectToCompare;
        return Objects.equals(getMeanings(), that.getMeanings()) &&
                Objects.equals(getSchema(), that.getSchema()) &&
                Objects.equals(getFeedback(), that.getFeedback()) &&
                Objects.equals(getKnownLocations(), that.getKnownLocations()) &&
                Objects.equals(getLineage(), that.getLineage()) &&
                Objects.equals(getRelatedAssets(), that.getRelatedAssets());
    }

    protected  AssetUniverse();
    public  AssetUniverse(Asset                       assetBean,
                         AssetExternalIdentifiers    externalIdentifiers,
                         AssetRelatedMediaReferences relatedMediaReferences,
                         AssetNoteLogs               noteLogs,
                         AssetExternalReferences     externalReferences,
                         AssetConnections            connections,
                         AssetLicenses               licenses,
                         AssetCertifications         certifications,
                         List<AssetMeaning>          meanings,
                         AssetSchemaType             schema,
                         AssetFeedback               feedback,
                         AssetLocations              knownLocations,
                         AssetLineage                lineage,
                         AssetRelatedAssets relatedAssets);
    public  AssetUniverse(AssetUniverse template);

}