@Override
        public boolean equals( Object obj )
        {
            if ( !( obj instanceof Event ) ) // I dislike not being able to say !instanceof
            {
                return false;
            }
            Event e = ( Event ) obj;

            if ( e.action.equals( action ) && ( target == e.target ) && ( delay == e.delay ) && ( executionTime == e.executionTime )
                    && ( parameters.length == e.parameters.length ) )
            {

                for ( int i = 0; i < parameters.length; i++ )
                {
                    if ( !parameters[ i ].equals( e.parameters[ i ] ) )
                    {
                        return false;
                    }
                }

                return true;
            }
            else
            {
                return false;
            }
        }