How to import multiple files in the import

Hi, I would like to add like something similar to a second select screen for my blender import file screen

currently I have import working for importing a binary file containing a bunch of mesh data. from the mesh data you are able to list the materials, each material having a unique image. I am looking for the best way to select each image in respect to the materials that are avaliable. Unfortunately I am new to the whole python coding and cannot think of any way to solve this. The best way I can think of solving this is having a second select screen where the user can select and organize the selected images based on each material in a layout box on the side.

class IMPORT_OT_lol(bpy.types.Operator, ImportHelper):
bl_label="Import LoL"
bl_idname="import.lol"

SKN_FILE = props.StringProperty(name='Mesh', description='Model .skn file')
SKL_FILE = props.StringProperty(name='Skeleton', description='Model .skl file')
DDS_FILE = props.StringProperty(name='Texture', description='Model .dds file')    
MODEL_DIR = props.StringProperty()
IMPORT_TEXTURES = props.BoolProperty(name='ImportTextures', description='Loads the textures   for the applied mesh', default=True)
CLEAR_SCENE = props.BoolProperty(name='ClearScene', description='Clear current scene before importing?', default=True)
APPLY_WEIGHTS = props.BoolProperty(name='LoadWeights', description='Load default bone weights from .skn file', default=True)

files= props.CollectionProperty(name="File Path",type=bpy.types.OperatorFileListElement)

def draw(self, context):
layout = self.layout

box = layout.box()

fileProps = context.space_data.params
self.MODEL_DIR = (fileProps.directory).decode('utf-8')

for file in self.files:
    selectedFileExt=path.splitext(file.name)[-1].lower()
    if selectedFileExt == '.skn':
        self.SKN_FILE = file.name
    elif selectedFileExt == '.skl':
        self.SKL_FILE = file.name
    elif selectedFileExt == '.dds':
        self.DDS_FILE = file.name

box.prop(self.properties, 'SKN_FILE')
box.prop(self.properties, 'SKL_FILE')
box.prop(self.properties, 'IMPORT_TEXTURES')
# box.prop(self.properties, 'DDS_FILE')
box.prop(self.properties, 'CLEAR_SCENE', text='Clear scene before importing')
box.prop(self.properties, 'APPLY_WEIGHTS', text='Load mesh weights')    

#Here is the execute function
def execute(self, context):
#Here the function that performs the mesh creation is called
import_char(MODEL_DIR=self.MODEL_DIR,
            SKN_FILE=self.SKN_FILE,
            SKL_FILE=self.SKL_FILE,
            DDS_FILE=self.DDS_FILE,
            CLEAR_SCENE=self.CLEAR_SCENE,
            APPLY_WEIGHTS=self.APPLY_WEIGHTS,
            IMPORT_TEXTURES=self.IMPORT_TEXTURES)
       
return {'FINISHED'}

Above is the import class that is called when the user selects to import the selected file type(skn)

if IMPORT_TEXTURES:
pass

# # if DDS_FILE and APPLY_TEXTURE:
#     DDS_FILEPATH=path.join(MODEL_DIR, DDS_FILE)
#     try:  # in case user is already in object mode (ie, SKN and DDS but no SKL)
#         bpy.ops.object.mode_set(mode='OBJECT')
#     except RuntimeError:
#         pass
#     bpy.ops.object.select_all(action='DESELECT')


#     for mat in meshObj.data.materials:

#         Here I am trying to get the texture path of the image that should be selected
#         TEXTURE_PATH = ''

#         # ImportHelper

#         texImage = mat.node_tree.nodes['Image Texture']
#         try:
#             texImage.image = bpy.data.images.load(TEXTURE_PATH)
#         except RuntimeError as e:
#             print('Image not found or selected')
    

#         #img = bpy.data.images.load(DDS_FILEPATH)
#         #img.source = 'FILE'
#         #img.use_alpha = False   #BilbozZ
#         #matSlot.material.texture_slots[0].texture.image = img

Above is the called function that builds the mesh and it needs to apply the images to the respective materials

Any help with regards to importing would be appreciated, even completely alternative ideas

I am able to create a list of image names(the names of each material) required, unfortunately the file names and the names do not match, so I need the user to select each the respective image file after being prompted the material name