Cannot be cast to java.util.List

Pessoal,

Estou tentando fazer isso

	Grupounidade grupo = new Grupounidade();
	 for (Unidade todasunidades:listatodasunidades) {
	    		grupo.setUnidades((List<Unidade>) todasunidades);
        	}

só que esta dando o seguinte erro :

modelo.Unidade cannot be cast to java.util.List





public class Grupounidade implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private Long id;

	private String descricao;
	
	@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.REMOVE, mappedBy = "grupo")
	private List<Unidade> unidades = new ArrayList<Unidade>();

    public List<Unidade> getUnidades() {
		return unidades;
	}

	public void setUnidades(List<Unidade> unidades) {
		this.unidades = unidades;
	}

	public Grupounidade() {
    }

	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getDescricao() {
		return this.descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

}


public class Unidade implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private Long id;

	private String descricao;

	private String descricaorelatorio;

	private BigDecimal fatorconversao;

/*	@Column(name="grupo_id")
	private Long grupoId;*/
	
	@ManyToOne(optional = false)
	@NotNull
	private Grupounidade grupo;	

	public Grupounidade getGrupo() {
		return grupo;
	}

	public void setGrupo(Grupounidade grupo) {
		this.grupo = grupo;
	}

	private Boolean notacaocientifica;

	@Column(name="tipo_unidade")
	private String tipoUnidade;

	//bi-directional many-to-one association to Analise
	@OneToMany(mappedBy="unidade")
	private Set<Analise> analises;

    public Unidade() {
    }

	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getDescricao() {
		return this.descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getDescricaorelatorio() {
		return this.descricaorelatorio;
	}

	public void setDescricaorelatorio(String descricaorelatorio) {
		this.descricaorelatorio = descricaorelatorio;
	}

	public BigDecimal getFatorconversao() {
		return this.fatorconversao;
	}

	public void setFatorconversao(BigDecimal fatorconversao) {
		this.fatorconversao = fatorconversao;
	}

/*	public Long getGrupoId() {
		return this.grupoId;
	}

	public void setGrupoId(Long grupoId) {
		this.grupoId = grupoId;
	}*/

	public Boolean getNotacaocientifica() {
		return this.notacaocientifica;
	}

	public void setNotacaocientifica(Boolean notacaocientifica) {
		this.notacaocientifica = notacaocientifica;
	}

	public String getTipoUnidade() {
		return this.tipoUnidade;
	}

	public void setTipoUnidade(String tipoUnidade) {
		this.tipoUnidade = tipoUnidade;
	}

	public Set<Analise> getAnalises() {
		return this.analises;
	}

	public void setAnalises(Set<Analise> analises) {
		this.analises = analises;
	}
	
}