public static Role getBankRole(int shift) {
		Map<Role, Boolean> shiftRoles = sRolesFilled.get(shift);
		
		//Master Teller (1) - first priority
		for (Role iRole : shiftRoles.keySet()){
			if (iRole instanceof BankMasterTellerRole){ //find role
				if (shiftRoles.get(iRole) == false){ //if role not filled
					shiftRoles.put(iRole, true); //fill it
					return (BankMasterTellerRole) iRole; //return role
				}
			}
		}
		//Guard (1) - second priority
		for (Role iRole : shiftRoles.keySet()){
			if (iRole instanceof BankGuardRole){
				if (shiftRoles.get(iRole) == false){ //if role not filled
					shiftRoles.put(iRole, true);
					return (BankGuardRole) iRole;
				}
			}
		}
		//Teller (limited) - third priority
		for (Role iRole : shiftRoles.keySet()){
			if (iRole instanceof BankTellerRole){
				if (shiftRoles.get(iRole) == false){ //if role not filled
					shiftRoles.put(iRole, true);
					return (BankTellerRole) iRole;
				}
			}
		}
		
		return null;
	}