function [Time, DataArray] = SdasLoadMagneticData(client, shotnr)

    %% Necessary Java imports
    import java.lang.*;

    %% Complete UID for the parameters (shot dependent)
    if shotnr < 15669
        parameterUid(1,:)  = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_0';
        parameterUid(2,:)  = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_1';
        parameterUid(3,:)  = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_2';
        parameterUid(4,:)  = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_3';
        parameterUid(5,:)  = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_4';
        parameterUid(6,:)  = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_5';
        parameterUid(7,:)  = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_6';
        parameterUid(8,:)  = 'TR512_TOMOGRAPHY.TR512_B04.CHANNEL_7';
        parameterUid(9,:)  = 'TR512_TOMOGRAPHY.TR512_B03.CHANNEL_0';
        parameterUid(10,:) = 'TR512_TOMOGRAPHY.TR512_B03.CHANNEL_1';
        parameterUid(11,:) = 'TR512_TOMOGRAPHY.TR512_B03.CHANNEL_2';
        parameterUid(12,:) = 'TR512_TOMOGRAPHY.TR512_B03.CHANNEL_3';
    end
    if shotnr >= 15669
        parameterUid(1,:)  = 'PLASMACONTROL.TR512_B00.CHANNEL_0';
        parameterUid(2,:)  = 'PLASMACONTROL.TR512_B00.CHANNEL_1';
        parameterUid(3,:)  = 'PLASMACONTROL.TR512_B01.CHANNEL_0';
        parameterUid(4,:)  = 'PLASMACONTROL.TR512_B00.CHANNEL_2';
        parameterUid(5,:)  = 'PLASMACONTROL.TR512_B00.CHANNEL_3';
        parameterUid(6,:)  = 'PLASMACONTROL.TR512_B01.CHANNEL_1';
        parameterUid(7,:)  = 'PLASMACONTROL.TR512_B00.CHANNEL_4';
        parameterUid(8,:)  = 'PLASMACONTROL.TR512_B00.CHANNEL_5';
        parameterUid(9,:)  = 'PLASMACONTROL.TR512_B01.CHANNEL_2';
        parameterUid(10,:) = 'PLASMACONTROL.TR512_B00.CHANNEL_6';
        parameterUid(11,:) = 'PLASMACONTROL.TR512_B00.CHANNEL_7';
        parameterUid(12,:) = 'PLASMACONTROL.TR512_B01.CHANNEL_3';
    end

    %% Search existing parameters
    parameterList = '';
    for i = 1:12
        if client.parameterExists(parameterUid(i,:), '0x0000', shotnr)
            parameterList = strvcat(parameterList, parameterUid(i,:));
        end
    end

    %% Incomplete or inexistent data
    if size(parameterList, 1) == 0
        disp('Inexistent data.')
        Time = [];
        DataArray = [];
    end

    %% Convert tomography names to Java Strings
    parameterListCell = javaArray('java.lang.String', 1, size(parameterList, 1));
    for i = 1:size(parameterList, 1)
        parameterListCell(1, i) = String(parameterList(i,:));
        parameterListCell(1, i) = parameterListCell(1, i).trim();
    end

    %% Get magnetic data
    parameterDataStruct = client.getMultipleData(cell(parameterListCell), '0x0000', shotnr);
    DummyData = parameterDataStruct(1).getData();
    DataArray = zeros(size(DummyData, 1), length(parameterDataStruct));
    for i = 1:length(parameterDataStruct)
        DataArray(:,i) = parameterDataStruct(i).getData();
    end
    DataArray = double(DataArray);

    %% Create time vector
    Time = SdasCreateTimeVector(parameterDataStruct(1));