@Override
    public final boolean equals(Object o) {
        if (o == this) {
            return true;
        } else if (o instanceof Operation<?>) {
            Operation<?> op = (Operation<?>) o;
            return op.getOperator() == operator
                && op.getArgs().equals(args)
                && op.getType().equals(getType());
        } else {
            return false;
        }
    }
{@code OperationImpl} is the default implementation of the {@link Operation} interface

@author tiwe

@param <T> expression type
querydsl-core/src/main/java/com/querydsl/core/types/OperationImpl.java