diff --git a/platform/core-api/src/com/intellij/openapi/components/PersistentStateComponent.java b/platform/core-api/src/com/intellij/openapi/components/PersistentStateComponent.java
index 70f556d479b0..64d3cfaf8a32 100644
--- a/platform/core-api/src/com/intellij/openapi/components/PersistentStateComponent.java
+++ b/platform/core-api/src/com/intellij/openapi/components/PersistentStateComponent.java
@@ -15,29 +15,29 @@
*/
package com.intellij.openapi.components;
-import com.intellij.util.xmlb.XmlSerializer;
import org.jetbrains.annotations.Nullable;
/**
* Every component which would like to persist its state across IDEA restarts
* should implement this interface.
*
- * See JetBrains WIKI
+ * See IntelliJ Platform SDK DevGuide
* for detailed description.
+ *
+ * Implementation must be thread-safe - a component should expect these methods to be called at any moment of its lifecycle.
*/
public interface PersistentStateComponent {
/**
- * @return a component state. All properties and public fields are serialized. Only values, which differ
+ * @return a component state. All properties, public and annotated fields are serialized. Only values, which differ
* from default (i.e. the value of newly instantiated class) are serialized. null value indicates
- * that no state should be stored
- * @see XmlSerializer
+ * that no state should be stored.
+ * @see com.intellij.util.xmlb.XmlSerializer
*/
@Nullable
T getState();
/**
- * This method is called when new component state is loaded. A component should expect this method
- * to be called at any moment of its lifecycle. The method can and will be called several times, if
+ * This method is called when new component state is loaded. The method can and will be called several times, if
* config files were externally changed while IDEA running.
* @param state loaded component state
* @see com.intellij.util.xmlb.XmlSerializerUtil#copyBean(Object, Object)