private boolean isQuorumNeeded(Operation op) {
        QuorumType type = config.getType();
        switch (type) {
            case WRITE:
                return isWriteOperation(op) && shouldCheckQuorum(op);
            case READ:
                return isReadOperation(op) && shouldCheckQuorum(op);
            case READ_WRITE:
                return (isReadOperation(op) || isWriteOperation(op)) && shouldCheckQuorum(op);
            default:
                throw new IllegalStateException("Unhandled quorum type: " + type);
        }
    }
private boolean isQuorumNeeded ( Operation op ) { QuorumType type = config . getType ( ) ; switch ( type ) { case WRITE : return isWriteOperation ( op ) && shouldCheckQuorum ( op ) ; case READ : return isReadOperation ( op ) && shouldCheckQuorum ( op ) ; case READ_WRITE : return ( isReadOperation ( op ) || isWriteOperation ( op ) ) && shouldCheckQuorum ( op ) ; default : throw new IllegalStateException ( "Unhandled quorum type: " + type ) ; } }
Returns if quorum is needed for this operation.
The quorum is determined by the {@link QuorumConfig#type} and by the type of the operation -
{@link ReadonlyOperation} or {@link MutatingOperation}.

@param op the operation which is to be executed
@return if this quorum should be consulted for this operation
@throws IllegalArgumentException if the quorum configuration type is not handled