code: public PointList shallowCopy(final int from, final int end, boolean makeImmutable) {
          if (makeImmutable)
              this.makeImmutable();
          return new ShallowImmutablePointList(from, end, this);
      }
docs: Create a shallow copy of this Pointlist from from to end, excluding end.
  
  @param makeImmutable makes this PointList immutable. If you don't ensure the consistency it might happen that due to changes of this
  object, the shallow copy might contain incorrect or corrupt data.