blueflood-core/src/main/java/com/rackspacecloud/blueflood/io/datastax/DPreaggregatedMetricsRW.java
@Override
    public DAbstractMetricIO getIO( String rollupType, Granularity granularity ) {

        // find out the rollupType for this locator
        RollupType rType = RollupType.fromString( rollupType );

        // get the right PreaggregatedIO class that can process
        // this rollupType
        DAbstractMetricIO io = rollupTypeToIO.get( rType );

        if (io == null) {
            throw new InvalidDataException( String.format("getIO: unsupported rollupType=%s", rollupType));
        }

        return io;
    }
@Override
    public DAbstractMetricIO getIO( String rollupType, Granularity granularity ) {

        // find out the rollupType for this locator
        RollupType rType = RollupType.fromString( rollupType );

        // get the right PreaggregatedIO class that can process
        // this rollupType
        DAbstractMetricIO io = rollupTypeToIO.get( rType );

        if (io == null) {
            throw new InvalidDataException( String.format("getIO: unsupported rollupType=%s", rollupType));
        }

        return io;
    }
Return the appropriate IO object which interacts with the Cassandra database.

For Preaggregated Metrics, only rollup type is required.
For Basic Numeric Metrics, the granularity is required as metrics_full is handled differently
than the other granularities.

@param rollupType
@param granularity
@return