Je tam jeste nejaka chyba?
Uz iba ta klasicka o porovnavani Stringov. Takze namiesto:
if ( ( cp.getName == this.getName () ) && cp.getActions () == this.getActions () )
ma byt
if ( cp.getName().equals(this.getName()) && cp.getActions () == this.getActions () )
return true;