@Override
  public DataSet<BarEntry> copy() {

    List<BarEntry> yVals = new ArrayList<BarEntry>();
    yVals.clear();

    for (int i = 0; i < mValues.size(); i++) {
      yVals.add(mValues.get(i).copy());
    }

    BarDataSet copied = new BarDataSet(yVals, getLabel());
    copied.mColors = mColors;
    copied.mStackSize = mStackSize;
    copied.mBarShadowColor = mBarShadowColor;
    copied.mStackLabels = mStackLabels;
    copied.mHighLightColor = mHighLightColor;
    copied.mHighLightAlpha = mHighLightAlpha;

    return copied;
  }