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: ica_fuse_get_reference_vector.m
    path of file: ./repos/fit/FITv2.0e/ica_fuse/ica_fuse_utilities
    
    the code of the file until where you have to start completion: function [reference] = ica_fuse_get_reference_vector(groupNames, numSubjects)
% Get reference vector based on group information

% Load defaults
ica_fuse_defaults;

global HELP_FG_COLOR;
global UI_FONT_NAME;
global UI_FONT_SIZE;

groupTag = 'Group_Info';

% Close all figures with the tag Group_Info
checkHandles = findobj(0, 'tag', groupTag);
if ~isempty(checkHandles)
    delete(checkHandles);
end

titleFig = 'Enter reference vector for groups';
% Plot Figure
[graphicsHandle] = ica_fuse_getGraphics(titleFig, 'normal', groupTag, 'off');

if iscell(groupNames)
    groupNames = str2mat(groupNames);
end

handles_data.groupName
    
function groupInfoCallback(hObject, event_data, handles)
% Open help dialog box about groups

msgStr = ['You have the option to enter reference vector for each group. This information will be used when calculating PCA.', ...
        ' Click on each entry in left listbox to enter the corresponding reference vector for that group. Option is provided to enter group information using ascii file when you use right click on edit box.'];

ica_fuse_dialogBox('title', 'Reference Vector', 'textBody', msgStr, 'textType', 'large');


function okCallback(hObject, event_data, handles)
% Ok callback

okData = get(hObject, 'userdata');

% Get group info
handles_data = get(handles, 'userdata');
groupNames = handles_data.groupNames;
numSubjects = handles_data.numSubjects;

% Do error check
for nS = 1:length(numSubjects)
    if isempty(okData(nS).data)
        error(['Reference vector for group ', deblank(groupNames(nS, :)), ' is not entered']);
    end