code: private void createShape() {
      if (shape == null) {
        float firstItemMargin = noxConfig.getNoxItemMargin();
        float firstItemSize = noxConfig.getNoxItemSize();
        int viewHeight = getMeasuredHeight();
        int viewWidth = getMeasuredWidth();
        int numberOfElements = noxItemCatalog.size();
        ShapeConfig shapeConfig =
            new ShapeConfig(numberOfElements, viewWidth, viewHeight, firstItemSize, firstItemMargin);
        shape = ShapeFactory.getShapeByKey(defaultShapeKey, shapeConfig);
      } else {
        shape.setNumberOfElements(noxItemCatalog.size());
      }
      shape.calculate();
    }
docs: Initializes a Shape instance given the NoxView configuration provided programmatically or
  using XML styleable attributes.