docs: public void setColor(int color) {
  		mAngle = colorToAngle(color);
  		mPointerColor.setColor(calculateColor(mAngle));
  
  		// check of the instance isn't null
  		if (mOpacityBar != null) {
  			// set the value of the opacity
  			mOpacityBar.setColor(mColor);
  			mOpacityBar.setOpacity(Color.alpha(color));
  		}
  
  		// check if the instance isn't null
  		if (mSVbar != null) {
  			// the array mHSV will be filled with the HSV values of the color.
  			Color.colorToHSV(color, mHSV);
  			mSVbar.setColor(mColor);
  
  			// because of the design of the Saturation/Value bar,
  			// we can only use Saturation or Value every time.
  			// Here will be checked which we shall use.
  			if (mHSV[1] < mHSV[2]) {
  				mSVbar.setSaturation(mHSV[1]);
  			} else if(mHSV[1] > mHSV[2]){
  				mSVbar.setValue(mHSV[2]);
  			}
  		}
  
  		if (mSaturationBar != null) {
  			Color.colorToHSV(color, mHSV);
  			mSaturationBar.setColor(mColor);
  			mSaturationBar.setSaturation(mHSV[1]);
  		}
  
  		if (mValueBar != null && mSaturationBar == null) {
  			Color.colorToHSV(color, mHSV);
  			mValueBar.setColor(mColor);
  			mValueBar.setValue(mHSV[2]);
  		} else if (mValueBar != null) {
  			Color.colorToHSV(color, mHSV);
  			mValueBar.setValue(mHSV[2]);
  		}
          setNewCenterColor(color);
  	}