code: protected function cloneTimePoint(TimePoint $point, $type, $timestamp = null)
      {
          if (is_null($timestamp)) {
              $timestamp = $point->getTimestamp();
          }
          \common_Logger::d("Create missing TimePoint at " . $timestamp);
          return new TimePoint($point->getTags(), $timestamp, $type, $point->getTarget());
      }
docs: Makes a copy of a TimePoint and forces a particular type
  @param TimePoint $point - The point to duplicate
  @param int $type - The type of the new point. It should be different!
  @param float $timestamp - An optional timestamp to set on the new point. By default keep the source timestamp.
  @return TimePoint