public BufferedImage loadSkin(int index) {
    	
    	String path = this.skins.get(index);
    	if (index >= 0 && index < this.skins.size() && path != null) {
    		
    		if (this.loadedSkins.containsKey(index)) {
    			
    			return this.loadedSkins.get(index);

    		}
    		
    		File skinImgFile = new File(path);
    		
    		if (skinImgFile.canRead()) {
    			try {
    				BufferedImage bi = ImageIO.read(skinImgFile);
    				this.loadedSkins.put(index, bi);
					return bi;
				} catch (IOException e) {
					e.printStackTrace();
				}
    		}
    	}
    	
    	return null;
    }