code: func (a *Annotation) UnmarshalJSON(b []byte) error {
  	type Alias Annotation
  	annotation := &struct {
  		TimeStamp uint64 `json:"timestamp"`
  		*Alias
  	}{
  		Alias: (*Alias)(a),
  	}
  	if err := json.Unmarshal(b, &annotation); err != nil {
  		return err
  	}
  	if annotation.TimeStamp < 1 {
  		return ErrValidTimestampRequired
  	}
  	a.Timestamp = time.Unix(0, int64(annotation.TimeStamp)*1e3)
  	return nil
  }
docs: // UnmarshalJSON implements custom JSON decoding