public static ColorSensor create(OpMode context, ColorSensor target) {
    I2cController controller;
    int port;
    int i2cAddr8Bit;

    if (target instanceof AdafruitI2cColorSensor) {
      AdafruitI2cColorSensor colorTarget = (AdafruitI2cColorSensor) target;
      controller = colorTarget.getI2cController();
      port = colorTarget.getPort();
      i2cAddr8Bit = ADDRESS_I2C;
    } else
      throw new IllegalArgumentException(
          String.format("incorrect color sensor class: %s", target.getClass().getSimpleName()));

    return create(context, controller, port, i2cAddr8Bit, target);
  }