<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Versioning
To create a new version of an existing object, specify the property(ies) you want to change and their new values. For example, here we change the indicator type from "anomalous-activity" to "malicious-activity"
Step1:  The modified time will be updated to the current time unless you provide a specific value as a keyword argument. Note that you can’t change the type, id, or created properties.
Step2:  You can remove optional or custom properties by setting them to None when you call new_version().
Step3:  To revoke an object
<ASSISTANT_TASK:>
Python Code:
from stix2 import Indicator
indicator = Indicator(created="2016-01-01T08:00:00.000Z",
                      name="File hash for suspicious file",
                      description="A file indicator",
                      indicator_types=["anomalous-activity"],
                      pattern_type="stix",
                      pattern="[file:hashes.md5 = 'd41d8cd98f00b204e9800998ecf8427e']")
indicator2 = indicator.new_version(name="File hash for Foobar malware",
                                   labels=["malicious-activity"])
print(indicator2.serialize(pretty=True))
Explanation: Versioning
To create a new version of an existing object, specify the property(ies) you want to change and their new values. For example, here we change the indicator type from "anomalous-activity" to "malicious-activity":
End of explanation
indicator.new_version(id="indicator--cc42e358-8b9b-493c-9646-6ecd73b41c21")
Explanation: The modified time will be updated to the current time unless you provide a specific value as a keyword argument. Note that you can’t change the type, id, or created properties.
End of explanation
indicator3 = indicator.new_version(description=None)
print(indicator3.serialize(pretty=True))
Explanation: You can remove optional or custom properties by setting them to None when you call new_version().
End of explanation
indicator4 = indicator3.revoke()
print(indicator4.serialize(pretty=True))
Explanation: To revoke an object:
End of explanation
<END_TASK>