Im struggling with something and its probably very simple fix , How ever im sick of reading the API overview and coming back with the same solution.  
	MagicSpell i thought that gets the magicspell or am i just been totaly Ret***ed and not writing it correctly? 
 
	 
 
 /// Actual Code for script to run 
    @Override
    public int onLoop() throws InterruptedException {
        if (inventory.contains(NATURE_RUNE_ID) && inventory.contains(ITEM_TO_ALCH_ID)) {
            MagicSpell highAlch = magic.getSpell("High Level Alchemy");
            if (highAlch != null && highAlch.canCast()) {
                highAlch.select();
                sleep(random(300, 500));
                inventory.getItem(ITEM_TO_ALCH_ID).interact();
                sleep(random(600, 800));
            }
        }
        return random(300, 500);
    }
	Description    Resource    Path    Location    Type 
	The method canCast() is undefined for the type MagicSpell    MovieAlch.java    /MovieAlch/src    line 24    Java Problem 
	The method getSpell(String) is undefined for the type Magic    MovieAlch.java    /MovieAlch/src    line 23    Java Problem 
	The method select() is undefined for the type MagicSpell    MovieAlch.java    /MovieAlch/src    line 25    Java Problem