Divider override(Divider override, EnumSet<Direction> overrideDirections, int depth) {
    Divider overridden = new Divider(this);

    for (Direction direction : overrideDirections) {
      Sublayer sublayer = override.getSublayer(direction);

      if (sublayer != null && (!overridden.hasSublayer(direction) || depth >= getSublayer(direction)
          .getDepth())) {
        overridden.sublayers.put(direction, new Sublayer(sublayer.getDrawable(), depth));
      }
    }

    return overridden;
  }
Representation of how a single item must be rendered.
It makes it possible to specify different drawables for different zones of the item.
dividers/src/main/java/com/karumi/dividers/Divider.java