class DiagramSet implements BaseDiagramSet {

    @Override
    public boolean equals(Object o) {
        if (o instanceof DiagramSet) {
            DiagramSet other = (DiagramSet) o;
            return Objects.equals(name, other.name) &&
                    Objects.equals(documentation, other.documentation) &&
                    Objects.equals(id, other.id) &&
                    Objects.equals(packageProperty, other.packageProperty) &&
                    Objects.equals(processType, other.processType) &&
                    Objects.equals(version, other.version) &&
                    Objects.equals(adHoc, other.adHoc) &&
                    Objects.equals(processInstanceDescription, other.processInstanceDescription) &&
                    Objects.equals(executable, other.executable) &&
                    Objects.equals(slaDueDate, other.slaDueDate);
        }
        return false;
    }

    public  DiagramSet();
    public  DiagramSet(final @MapsTo("name") Name name,
                      final @MapsTo("documentation") Documentation documentation,
                      final @MapsTo("id") Id id,
                      final @MapsTo("packageProperty") Package packageProperty,
                      final @MapsTo("processType") ProcessType processType,
                      final @MapsTo("version") Version version,
                      final @MapsTo("adHoc") AdHoc adHoc,
                      final @MapsTo("processInstanceDescription") ProcessInstanceDescription processInstanceDescription,
                      final @MapsTo("imports") Imports imports,
                      final @MapsTo("executable") Executable executable,
                      final @MapsTo("slaDueDate") SLADueDate slaDueDate);
    public  DiagramSet(final String name);

}