package com.elmakers.mine.bukkit.action;

import com.elmakers.mine.bukkit.api.action.CastContext;
import com.elmakers.mine.bukkit.api.spell.SpellResult;
import org.bukkit.configuration.ConfigurationSection;

public abstract class CompoundAction extends ParallelCompoundAction
{
    @Override
    public void finish(CastContext context) {
        actions.finish(context);
    }

    @Override
    public void prepare(CastContext context, ConfigurationSection parameters) {
        super.prepare(context, parameters);
        actions.prepare(context, parameters);
    }

    public void reset(CastContext context)
    {
        super.reset(context);
        actions.reset(actionContext);
    }

    protected SpellResult performActions(CastContext context) {
        if (actions == null) {
            return SpellResult.FAIL;
        }
        return actions.perform(context);
    }
}

@@ -323,32 +323,67 @@
 text context) %7B%0A
+        if (actions != null) %7B%0A    
         actions.
@@ -391,32 +391,42 @@
 inish(context);%0A
+        %7D%0A
     %7D%0A%0A    @Over
@@ -550,24 +550,59 @@
 arameters);%0A
+        if (actions != null) %7B%0A    
         acti
@@ -631,24 +631,34 @@
 arameters);%0A
+        %7D%0A
     %7D%0A%0A    p
@@ -723,32 +723,67 @@
 reset(context);%0A
+        if (actions != null) %7B%0A    
         actions.
@@ -800,24 +800,34 @@
 onContext);%0A
+        %7D%0A
     %7D%0A%0A    p

Add some null-checking to CompoundAction