@Override
 public List<ICompetition> getCompetitions() {
   List<ICompetition> cl = new LinkedList<>();
   for (Competition c : competitions) {
     cl.add(c);
   }
   return cl;
 }
  @Override
  public void setCompetitions(List<ICompetition> competitions) {
    List<Competition> result = new LinkedList<>();

    for (ICompetition d : competitions) {
      result.add((Competition) d);
    }

    this.competitions = result;
  }
  @Override
  public void setTeamList(List<ITeam> teamList) {
    List<Team> result = new LinkedList<>();

    for (ITeam d : teamList) {
      result.add((Team) d);
    }

    this.teamList = result;
  }
  @XmlTransient
  @Override
  public List<ITeam> getTeamList() {
    List<ITeam> result = new LinkedList<>();

    for (Team d : teamList) {
      result.add(d);
    }

    return result;
  }
  /**
   * Find the extensions of a specified type.
   *
   * @param clazz The type.
   * @return The extensions, possibly empty but not null.
   */
  @SuppressWarnings({"unchecked"})
  public <E> List<E> findExtensionsOfType(Class<E> clazz) {
    List<E> ext = new ArrayList<E>();
    if (this.extensionElements != null) {
      for (Object extension : extensionElements) {
        if (clazz.isInstance(extension)) {
          ext.add((E) extension);
        }
      }
    }

    return ext;
  }
  /**
   * Find the extension elements of a specified type in the given name and namespace.
   *
   * @param clazz The type of the extension element.
   * @param name The name of the extension element.
   * @param namespace The namespace of the extension element.
   * @return The extensions, possibly empty but not null.
   */
  @SuppressWarnings({"unchecked"})
  public <E> List<E> findExtensionsOfType(Class<E> clazz, String name, String namespace) {
    List<E> ext = new ArrayList<E>();
    if (this.extensionElements != null) {
      for (Object extension : extensionElements) {
        if (JAXBElement.class.isInstance(extension)) {
          JAXBElement<E> element = (JAXBElement<E>) extension;
          if (clazz.isInstance(element.getValue())
              && element.getName().getLocalPart().equals(name)
              && element.getName().getNamespaceURI().equals(namespace)) {
            ext.add(element.getValue());
          }
        }
      }
    }

    return ext;
  }