/**
   * Returns whether this placemark must retrieve its model resource. This always returns <code>
   * false</code> if this placemark has no <code>KMLLink</code>.
   *
   * @return <code>true</code> if this placemark must retrieve its model resource, otherwise <code>
   *     false</code>.
   */
  protected boolean mustRetrieveResource() {
    KMLLink link = this.model.getLink();
    if (link == null) return false;

    // The resource must be retrieved if the link has been updated since the resource was
    // last retrieved, or if the resource has never been retrieved.
    return this.getColladaRoot() == null || link.getUpdateTime() > this.resourceRetrievalTime.get();
  }