You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: taskSequence.m
    path of file: ./repos/opticka
    
    the code of the file until where you have to start completion: % ========================================================================
classdef taskSequence < optickaCore & dynamicprops
%> @class taskSequence
%> @brief Block-based variable randomisation manager
%>
%> This class takes one or more variables, each with an array of values
%> and randomly interleves them into a randomised variable list each of
%> which has a unique index number. 
%> 
%> This example creates an `angle` varible that is r
    
function nRuns = get.nRuns(me)
		%> @fn get.nRuns
		%> @brief Dependent property nRuns get method
		%>
		%> Dependent property nruns get method
		% ===================================================================
			nRuns = me.minTrials * me.nBlocks;
		end

		% ===================================================================	
		function nFrames = get.nFrames(me)
		%> @fn get.nFrames
		%> @brief Dependent property nFrames get method
		%>
		%> Gives us an approximate number of frames this task may take
		% ===================================================================
			nSecs = (me.nRuns * me.trialTime) + (me.minTrials-1 * me.isTime) + (me.nBlocks-1 * me.ibTime);
			nFrames = ceil(nSecs) * ceil(me.fps); %be a bit generous in defining how many frames the task will take
		end