public void inspect() {
		print("I AM INSPECTING");
		
//		inspectCounter++;
//		
//		if(inspectCounter < ContactList.sOpenPlaces.size()) {
//			InspectorRole inspector = null;
//			for (Role iRole : mRoles.keySet()){
//				if (iRole instanceof InspectorRole){
//					inspector = (InspectorRole)iRole;
//				}
//			}
//			if(inspector == null)
//				inspector = new InspectorRole(this);
//			
//			mRoles.put(inspector, true);
//			AlertLog.getInstance().logError(AlertTag.PERSON, getName(), "INSPECTCOUNTER: " + inspectCounter);
//			mCommuterRole.mActive = true;
//			synchronized(ContactList.sOpenPlaces) {
//				if(inspectCounter != 0) {
//					Location deleteMe = (Location)((ContactList.sOpenPlaces.keySet().toArray())[inspectCounter - 1]);
//					Inspection.sInspectionImages.get(deleteMe).disable();
//				}
//				
//				Location temp = (Location)((ContactList.sOpenPlaces.keySet().toArray())[inspectCounter]);
//				mCommuterRole.setLocation(temp);
//				Inspection.sInspectionImages.get(temp).enable();
//			}
//			mCommutingTo = EnumCommuteTo.INSPECT;
//			mCommuterRole.mState = PersonState.walking;
//		} else {
//			if(inspectCounter == ContactList.sOpenPlaces.size()) {
//				synchronized(ContactList.sOpenPlaces) {
//					Location deleteMe = (Location)((ContactList.sOpenPlaces.keySet().toArray())[inspectCounter - 1]);
//					Inspection.sInspectionImages.get(deleteMe).disable();
//				}
//			}
//			
//			getHousingRole().msgTimeToMaintain();
//			mCommuterRole.mActive = true;
//			mCommuterRole.setLocation(ContactList.cHOUSE_LOCATIONS.get(getHousingRole().getHouse().mHouseNum));
//			mCommutingTo = EnumCommuteTo.HOUSE;
//			mCommuterRole.mState = PersonState.walking;
//		}
		
		// OLD
		
		
		mPersonGui.setPresent(true);
		
		Location[] myDestinations = null;
		Boolean[] isOpen = null;
		synchronized(ContactList.sOpenPlaces) {
			if(mSSN % 3 == 0) {
				myDestinations = ContactList.sOpenPlaces.keySet().toArray(new Location[0]);
				isOpen = ContactList.sOpenPlaces.values().toArray(new Boolean[0]);
			} else if(mSSN % 3 == 1) {
				Location[] temp = ContactList.sOpenPlaces.keySet().toArray(new Location[0]);
				Boolean[] tempBool = ContactList.sOpenPlaces.values().toArray(new Boolean[0]);
				myDestinations = new Location[ContactList.sOpenPlaces.size()];
				isOpen = new Boolean[ContactList.sOpenPlaces.size()];
				for(int i = ContactList.sOpenPlaces.size() - 1; i >= 0; i--) {
					myDestinations[i] = temp[i];
					isOpen[i] = tempBool[i];
				}
			} else if(mSSN % 3 == 2) {
				Location[] temp = ContactList.sOpenPlaces.keySet().toArray(new Location[0]);
				Boolean[] tempBool = ContactList.sOpenPlaces.values().toArray(new Boolean[0]);
				myDestinations = new Location[ContactList.sOpenPlaces.size()];
				isOpen = new Boolean[ContactList.sOpenPlaces.size()];
				int j = ContactList.sOpenPlaces.size() - 1;
				for(int i = ContactList.sOpenPlaces.size() / 2; i < ContactList.sOpenPlaces.size(); i++) {
					myDestinations[j] = temp[i];
					isOpen[j] = tempBool[i];
					j--;
				}
				j = 0;
				for(int i = ContactList.sOpenPlaces.size() / 2; i >= 0; i--) {
					myDestinations[j] = temp[i];
					isOpen[j] = tempBool[i];
					j++;
				}
			}
		}
		for(int iLocation = 0; iLocation < myDestinations.length; iLocation++){
			if(myDestinations[iLocation] != null) {
				if(isOpen[iLocation]) {
					Inspection.sInspectionImages.get(myDestinations[iLocation]).enable();
					mPersonGui.DoGoToDestination(myDestinations[iLocation]);
					acquireSemaphore(semAnimationDone);
					Inspection.sInspectionImages.get(myDestinations[iLocation]).disable();
					print("Visited "+myDestinations[iLocation].toString());
					mPersonGui.setPresent(true);
				}
			}
		}
		
//		synchronized(ContactList.sOpenPlaces){
//			for(Location iLocation : ContactList.sOpenPlaces.keySet()){
//				if(ContactList.sOpenPlaces.get(iLocation)){
//					Inspection.sInspectionImages.get(iLocation).enable();
//					mPersonGui.DoGoToDestination(iLocation);
//					acquireSemaphore(semAnimationDone);
//					Inspection.sInspectionImages.get(iLocation).disable();
//					print("Visited "+iLocation.toString());
//					mPersonGui.setPresent(true);
//				}
//			}
//		}
		getHousingRole().msgTimeToMaintain();
		mPersonGui.DoGoToDestination(ContactList.cHOUSE_LOCATIONS.get(getHousingRole().getHouse().mHouseNum));
		acquireSemaphore(semAnimationDone);
		mPersonGui.setPresent(false);
	}