@Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof SymbolClass)) return false;
        if (!super.equals(o)) return false;

        SymbolClass that = (SymbolClass) o;

        if (isExcludeSymbol != that.isExcludeSymbol) return false;
        if (componentSymbols != null ? !componentSymbols.equals(that.componentSymbols) : that.componentSymbols != null)
            return false;

        return true;
    }