com.threerings.util
Interface Copyable

All Known Implementing Classes:
ActionConfig, ActionConfig, ActionConfig.AbstractMove, ActionConfig.CallFunction, ActionConfig.Case, ActionConfig.Compound, ActionConfig.Conditional, ActionConfig.Delayed, ActionConfig.DestroyActor, ActionConfig.EntryPortal, ActionConfig.ExpressionCase, ActionConfig.ExpressionSwitch, ActionConfig.FireEffect, ActionConfig.ForceClientAction, ActionConfig.MoveAll, ActionConfig.MoveBody, ActionConfig.PlaySound, ActionConfig.Portal, ActionConfig.Random, ActionConfig.SetFlag, ActionConfig.SetVariable, ActionConfig.ShakeCamera, ActionConfig.Signal, ActionConfig.SpawnActor, ActionConfig.SpawnRandomTranslatedActor, ActionConfig.SpawnRotatedActor, ActionConfig.SpawnTransformedActor, ActionConfig.SpawnTransient, ActionConfig.StepLimitMobile, ActionConfig.Switch, ActionConfig.TaggedPortal, ActionConfig.TilePortal, ActionConfig.WarpActor, ActionConfig.WarpTransformedActor, ActionConfig.WeightedAction, Active, Actor, ActorConfig, ActorConfig.Agent, ActorConfig.Derived, ActorConfig.Implementation, ActorConfig.Mobile, ActorConfig.Original, ActorConfig.Pawn, ActorModelConfig, ActorModelConfig.Wrapper, ActorSpriteConfig, ActorSpriteConfig.Default, ActorSpriteConfig.MovementSet, ActorSpriteConfig.Moving, ActorSpriteConfig.QuadMovement, ActorSpriteConfig.RotationSet, ActorSpriteConfig.SingleMovement, ActorSpriteConfig.State, ActorSpriteConfig.StatefulEntry, ActorSpriteConfig.WeightedAnimation, Agent, AlphaStateConfig, AnimationConfig, AnimationConfig.ComponentAnimation, AnimationConfig.Derived, AnimationConfig.FrameAction, AnimationConfig.Implementation, AnimationConfig.Imported, AnimationConfig.Original, AnimationConfig.Procedural, AnimationConfig.Sequential, AnimationConfig.TargetTransform, AreaConfig, AreaConfig.Derived, AreaConfig.Implementation, AreaConfig.Original, ArgumentMap, ArgumentPathProperty, ArticulatedConfig, ArticulatedConfig.AnimationMapping, ArticulatedConfig.Attachment, ArticulatedConfig.Billboard, ArticulatedConfig.MeshNode, ArticulatedConfig.Node, ArticulatedConfig.NodeTransform, ArticulatedConfig.Upright, BackgroundConfig, BackgroundConfig.Blank, BackgroundConfig.ColorizedImage, BackgroundConfig.Image, BackgroundConfig.Solid, BaseParticleSystemConfig, BaseParticleSystemConfig.Layer, BehaviorConfig, BehaviorConfig.Combined, BehaviorConfig.Derived, BehaviorConfig.Evaluating, BehaviorConfig.Follow, BehaviorConfig.Implementation, BehaviorConfig.Original, BehaviorConfig.Patrol, BehaviorConfig.Random, BehaviorConfig.Scripted, BehaviorConfig.Wander, BehaviorConfig.WeightedBehavior, BooleanExpression, BooleanExpression.And, BooleanExpression.BinaryOperation, BooleanExpression.BooleanEquals, BooleanExpression.Constant, BooleanExpression.FloatBinaryOperation, BooleanExpression.FloatEquals, BooleanExpression.FloatGreater, BooleanExpression.FloatGreaterEquals, BooleanExpression.FloatLess, BooleanExpression.FloatLessEquals, BooleanExpression.Not, BooleanExpression.Or, BooleanExpression.Parsed, BooleanExpression.Reference, BooleanExpression.StringEquals, BooleanExpression.Xor, BooleanVariable, BorderConfig, BorderConfig.Blank, BorderConfig.Solid, BoundConfig, BoundedRangeModelConfig, BoundedRangeModelConfig.Snapping, CameraConfig, ClientActionConfig, ClientActionConfig.Compound, ClientActionConfig.ControllerAction, ClientActionConfig.ServerRequest, ClientArrayConfig, Color4fExpression, Color4fExpression.Blend, Color4fExpression.Constant, Color4fExpression.Reference, ColorFunction, ColorFunction.Constant, ColorFunction.InAndOut, ColorFunction.Linear, ColorFunction.Multipoint, ColorFunction.ThreePoint, ColorFunctionVariable, ColorFunctionVariable.Fixed, ColorFunctionVariable.VariableConstant, ColorFunctionVariable.VariableLinear, ColorizationConfig, ColorizationConfig.CustomOffsets, ColorizationConfig.FullyCustom, ColorizationConfig.Normal, ColorizationConfig.Triplet, ColorMaskStateConfig, ColorStateConfig, ColorVariable, ColorVariable.Constant, ColorVariable.Uniform, ComponentBillboardConfig, ComponentConfig, ComponentConfig.Button, ComponentConfig.ChatOverlay, ComponentConfig.CheckBox, ComponentConfig.ColorPicker, ComponentConfig.ComboBox, ComponentConfig.ComboBox.IconItem, ComponentConfig.ComboBox.Item, ComponentConfig.ComboBox.StringItem, ComponentConfig.Container, ComponentConfig.HTMLView, ComponentConfig.Label, ComponentConfig.List, ComponentConfig.PasswordField, ComponentConfig.RenderableView, ComponentConfig.ScrollBar, ComponentConfig.ScrollPane, ComponentConfig.Slider, ComponentConfig.Spacer, ComponentConfig.Spinner, ComponentConfig.StatusLabel, ComponentConfig.TabbedPane, ComponentConfig.TabbedPane.Tab, ComponentConfig.TextArea, ComponentConfig.TextComponent, ComponentConfig.TextEditor, ComponentConfig.TextField, ComponentConfig.ToggleButton, ComponentConfig.UserInterface, ComponentConfig.ViewModel, CompoundConfig, CompoundConfig.ComponentModel, ConditionalConfig, ConditionalConfig.Case, ConditionConfig, ConditionConfig.Action, ConditionConfig.All, ConditionConfig.Always, ConditionConfig.Any, ConditionConfig.Cooldown, ConditionConfig.DistanceWithin, ConditionConfig.Evaluate, ConditionConfig.FlagSet, ConditionConfig.InstanceOf, ConditionConfig.Intersecting, ConditionConfig.Limit, ConditionConfig.Not, ConditionConfig.Random, ConditionConfig.Tagged, ConfigGroup, ConfigManager, ConfigReference, CounterConfig, CounterConfig.ConstantRate, CounterConfig.RandomIntervals, CounterConfig.Unlimited, CullStateConfig, CursorConfig, DeepObject, DeformerConfig, DeformerConfig.Skin, DepthStateConfig, DimensionConfig, Easing, Easing.None, Easing.QuadraticIn, Easing.QuadraticInAndOut, Easing.QuadraticOut, EffectConfig, EffectConfig.Derived, EffectConfig.Implementation, EffectConfig.Original, EffectSpriteConfig, EffectSpriteConfig.Animator, EffectSpriteConfig.Default, EntryState, ExpressionBinding, ExpressionBinding.Color4fBinding, ExpressionBinding.FloatBinding, ExpressionBinding.IntegerBinding, ExpressionBinding.StringBinding, ExpressionBinding.Transform3DBinding, ExpressionConfig, ExpressionConfig.Add, ExpressionConfig.And, ExpressionConfig.BinaryOperation, ExpressionConfig.Constant, ExpressionConfig.Decrement, ExpressionConfig.Divide, ExpressionConfig.Equals, ExpressionConfig.Greater, ExpressionConfig.GreaterEquals, ExpressionConfig.Increment, ExpressionConfig.Less, ExpressionConfig.LessEquals, ExpressionConfig.Multiply, ExpressionConfig.Negate, ExpressionConfig.Not, ExpressionConfig.NumTargets, ExpressionConfig.Or, ExpressionConfig.Parsed, ExpressionConfig.Previous, ExpressionConfig.Reference, ExpressionConfig.Remainder, ExpressionConfig.Subtract, ExpressionConfig.UnaryOperation, ExpressionConfig.Xor, ExpressionDefinition, ExpressionDefinition.Color4fDefinition, ExpressionDefinition.FloatDefinition, ExpressionDefinition.IntegerDefinition, ExpressionDefinition.StringDefinition, ExpressionDefinition.Transform3DDefinition, Extent, Extent.Limited, Extent.Unlimited, FieldProperty, FloatExpression, FloatExpression.Add, FloatExpression.BinaryOperation, FloatExpression.Clock, FloatExpression.Constant, FloatExpression.Cos, FloatExpression.Divide, FloatExpression.Exp, FloatExpression.Multiply, FloatExpression.Negate, FloatExpression.Noise1, FloatExpression.Noise2, FloatExpression.Parsed, FloatExpression.Pow, FloatExpression.Ramp, FloatExpression.Reference, FloatExpression.Remainder, FloatExpression.Saw, FloatExpression.Sin, FloatExpression.Square, FloatExpression.Subtract, FloatExpression.Tan, FloatExpression.Triangle, FloatExpression.UnaryOperation, FloatFunction, FloatFunction.Constant, FloatFunction.InAndOut, FloatFunction.Linear, FloatFunction.Multipoint, FloatFunction.Multipoint.Point, FloatFunction.ThreePoint, FloatFunctionVariable, FloatFunctionVariable.Fixed, FloatFunctionVariable.VariableConstant, FloatFunctionVariable.VariableInAndOut, FloatFunctionVariable.VariableLinear, FloatFunctionVariable.VariableMultipoint, FloatFunctionVariable.VariableMultipoint.Point, FloatFunctionVariable.VariableThreePoint, FloatVariable, FloatVariable.Constant, FloatVariable.Exponential, FloatVariable.Normal, FloatVariable.Uniform, FogStateConfig, FogStateConfig.Disabled, FogStateConfig.Enabled, FogStateConfig.Exponential, FogStateConfig.Linear, FontConfig, GeneratedStaticConfig, GeneratedStaticConfig.Generator, GeneratedStaticConfig.Quad, GeometryConfig, GeometryConfig.ArrayStored, GeometryConfig.AttributeArrayConfig, GeometryConfig.IndexedStored, GeometryConfig.SkinnedIndexedStored, GeometryConfig.Stored, GroundConfig, GroundConfig.Derived, GroundConfig.EdgeCase, GroundConfig.Implementation, GroundConfig.Original, GroundConfig.TransitionCase, HandlerConfig, HandlerConfig.ActorAdded, HandlerConfig.ActorRemoved, HandlerConfig.BaseActorObserver, HandlerConfig.BaseIntersection, HandlerConfig.BaseIntersectionCount, HandlerConfig.DefaultShape, HandlerConfig.Intersection, HandlerConfig.IntersectionShape, HandlerConfig.IntersectionStart, HandlerConfig.IntersectionStop, HandlerConfig.Request, HandlerConfig.Shutdown, HandlerConfig.Signal, HandlerConfig.SignalStart, HandlerConfig.SignalStop, HandlerConfig.Startup, HandlerConfig.ThresholdIntersectionCount, HandlerConfig.Tick, HandlerConfig.Timer, HandlerConfig.TransformedShape, HandlerConfig.VariableChanged, HandlerConfig.WarnTimer, IconConfig, IconConfig.Blank, IconConfig.ColorizedImage, IconConfig.Image, IconConfig.Rotated, InfluenceConfig, InfluenceConfig.AngularAcceleration, InfluenceConfig.CylindricalVortex, InfluenceConfig.Gravity, InfluenceConfig.Jitter, InfluenceConfig.LinearDrag, InfluenceConfig.QuadraticDrag, InfluenceConfig.ToroidalVortex, InfluenceConfig.Wander, InfluenceConfig.Wind, InfluenceFlagConfig, InputFrame, InsetsConfig, IntegerExpression, IntegerExpression.Constant, IntegerExpression.Reference, LayoutConfig, LayoutConfig.Absolute, LayoutConfig.Absolute.Child, LayoutConfig.Absolute.SizedChild, LayoutConfig.Anchor, LayoutConfig.Anchor.Child, LayoutConfig.Border, LayoutConfig.Border.Child, LayoutConfig.Group, LayoutConfig.Group.Child, LayoutConfig.HorizontalGroup, LayoutConfig.Table, LayoutConfig.Table.Child, LayoutConfig.VerticalGroup, LightConfig, LightConfig.Attenuation, LightConfig.Colors, LightConfig.Directional, LightConfig.Falloff, LightConfig.Point, LightConfig.Spot, LightStateConfig, LightStateConfig.Disabled, LightStateConfig.Enabled, LineStateConfig, ManagedConfig, MaterialConfig, MaterialConfig.Derived, MaterialConfig.Implementation, MaterialConfig.Original, MaterialRewriter, MaterialRewriter.DepthOnly, MaterialRewriter.Projection, MaterialRewriter.Translucent, MaterialStateConfig, MaterialStateConfig.OneSided, MaterialStateConfig.Side, MaterialStateConfig.TwoSided, MergedStaticConfig, MetaParticleSystemConfig, MetaParticleSystemConfig.Layer, MethodProperty, Mobile, ModelConfig, ModelConfig.BaseWrapper, ModelConfig.Derived, ModelConfig.Implementation, ModelConfig.Imported, ModelConfig.Imported.MaterialMapping, ModelConfig.MeshSet, ModelConfig.Schemed, ModelConfig.SchemedModel, ModelConfig.VisibleMesh, ModelTool.EnvironmentModel, ObjectExpression, PaintableConfig, PaintableConfig.Case, PaintableConfig.Tile, Parameter, Parameter.Choice, Parameter.Choice.Option, Parameter.Direct, Parameter.Translated, ParameterizedConfig, ParticleSystemConfig, ParticleSystemConfig.GroupPriority, ParticleSystemConfig.Layer, ParticleSystemConfig.Lines, ParticleSystemConfig.Meshes, ParticleSystemConfig.ParticleGeometryConfig, ParticleSystemConfig.Points, ParticleSystemConfig.Quads, PassConfig, PassDescriptor, PassSummary, PathConfig, PathConfig.Derived, PathConfig.Implementation, PathConfig.Original, PathProperty, Pawn, PlaceableConfig, PlaceableConfig.ClickableProp, PlaceableConfig.Derived, PlaceableConfig.Implementation, PlaceableConfig.Marker, PlaceableConfig.Original, PlaceableConfig.Prop, PlaceableConfig.StatefulProp, PlacerConfig, PlacerConfig.Box, PlacerConfig.Frustum, PlacerConfig.Line, PlacerConfig.Point, PlacerConfig.Ring, PlacerConfig.Shell, PointStateConfig, PolygonStateConfig, Preloadable, Preloadable.Animation, Preloadable.Config, Preloadable.Model, ProjectionConfig, ProjectionConfig.Orthographic, ProjectionConfig.Perspective, Property, QuaternionExpression, QuaternionExpression.Angles, QuaternionExpression.Constant, QuaternionExpression.Reference, QuaternionVariable, QuaternionVariable.Constant, QuaternionVariable.Identity, QuaternionVariable.Random, QuaternionVariable.Uniform, RegionConfig, RegionConfig.Default, RegionConfig.Fixed, RegionConfig.Located, RegionConfig.Transformed, RenderEffectConfig, RenderEffectConfig.Derived, RenderEffectConfig.Implementation, RenderEffectConfig.Original, RenderEffectConfig.Technique, RenderQueueConfig, RenderQueueConfig.Normal, RenderQueueConfig.Ortho, RenderQueueConfig.RenderMode, RenderQueueConfig.Skybox, RenderSchemeConfig, RenderSchemeConfig.Implementation, RenderSchemeConfig.Normal, RenderSchemeConfig.Special, SceneGlobalConfig, SceneGlobalConfig.Camera, SceneGlobalConfig.Derived, SceneGlobalConfig.EnvironmentModel, SceneGlobalConfig.Implementation, SceneGlobalConfig.Original, SceneInfluenceConfig, SceneInfluenceConfig.AmbientLight, SceneInfluenceConfig.Definer, SceneInfluenceConfig.Fog, SceneInfluenceConfig.Light, SceneInfluenceConfig.Projector, SceneInfluencerConfig, ScriptConfig, ScriptConfig.Condition, ScriptConfig.Goto, ScriptConfig.Move, ScriptConfig.Rotate, ScriptConfig.Wait, ScriptedConfig, ScriptedConfig.TimeAction, ShaderConfig, ShaderConfig.ArrayRefUniformConfig, ShaderConfig.BooleanDefinition, ShaderConfig.BooleanExprUniformConfig, ShaderConfig.BooleanUniformConfig, ShaderConfig.ColorDefinition, ShaderConfig.ColorExprUniformConfig, ShaderConfig.ColorUniformConfig, ShaderConfig.Definition, ShaderConfig.Derived, ShaderConfig.ExpressionUniformConfig, ShaderConfig.FloatDefinition, ShaderConfig.FloatExprUniformConfig, ShaderConfig.FloatUniformConfig, ShaderConfig.FogBlendSnippet, ShaderConfig.FogParamSnippet, ShaderConfig.Fragment, ShaderConfig.Fragment.Contents, ShaderConfig.Fragment.SourceFile, ShaderConfig.FragmentLightingSnippet, ShaderConfig.Implementation, ShaderConfig.IntegerDefinition, ShaderConfig.IntegerExprUniformConfig, ShaderConfig.IntegerUniformConfig, ShaderConfig.MatrixArrayRefUniformConfig, ShaderConfig.Original, ShaderConfig.PolarUniformConfig, ShaderConfig.SimpleUniformConfig, ShaderConfig.StringDefinition, ShaderConfig.TexCoordSnippet, ShaderConfig.TransformDefinition, ShaderConfig.TransformExprUniformConfig, ShaderConfig.TransformUniformConfig, ShaderConfig.UniformConfig, ShaderConfig.Vertex, ShaderConfig.Vertex.Contents, ShaderConfig.Vertex.SourceFile, ShaderConfig.VertexLightingSnippet, ShaderStateConfig, ShaderStateConfig.Disabled, ShaderStateConfig.Enabled, ShapeConfig, ShapeConfig.Capsule, ShapeConfig.Circle, ShapeConfig.Compound, ShapeConfig.Global, ShapeConfig.None, ShapeConfig.Point, ShapeConfig.Polygon, ShapeConfig.Rectangle, ShapeConfig.Segment, ShapeConfig.TransformedShape, ShapeConfig.Vertex, ShapeModelConfig, ShooterConfig, ShooterConfig.Cone, ShooterConfig.Outward, SounderConfig, SounderConfig.BaseClip, SounderConfig.BaseStream, SounderConfig.Case, SounderConfig.Clip, SounderConfig.ComponentSounder, SounderConfig.Compound, SounderConfig.Conditional, SounderConfig.Derived, SounderConfig.Fixed, SounderConfig.Implementation, SounderConfig.MetaClip, SounderConfig.MetaStream, SounderConfig.Original, SounderConfig.PitchWeightedFile, SounderConfig.QueuedFile, SounderConfig.Random, SounderConfig.Scripted, SounderConfig.Sequential, SounderConfig.Stream, SounderConfig.TimedSounder, SounderConfig.Variable, SounderConfig.VariableClip, SounderConfig.WeightedFile, SounderConfig.WeightedSounder, StaticConfig, StaticSetConfig, StencilStateConfig, StepConfig, StepConfig.Clear, StepConfig.Clear.Color, StepConfig.Clear.Depth, StepConfig.Clear.Stencil, StepConfig.RenderQuad, StepConfig.RenderQueues, StringExpression, StringExpression.Constant, StringExpression.Parsed, StringExpression.Reference, StyleConfig, StyleConfig.Derived, StyleConfig.Implementation, StyleConfig.Original, TagConfig, TargetConfig, TargetConfig, TargetConfig.Activator, TargetConfig.Behavior, TargetConfig.Compound, TargetConfig.Conditional, TargetConfig.DistanceSubset, TargetConfig.Excluding, TargetConfig.FarthestSubset, TargetConfig.InstanceOf, TargetConfig.Intersecting, TargetConfig.NearestSubset, TargetConfig.Output, TargetConfig.Randomized, TargetConfig.RandomSubset, TargetConfig.Source, TargetConfig.Subset, TargetConfig.Tagged, TargetConfig.Texture, TechniqueConfig, TechniqueConfig.CompoundEnqueuer, TechniqueConfig.Enqueuer, TechniqueConfig.EnqueuerWrapper, TechniqueConfig.GroupedEnqueuer, TechniqueConfig.NormalEnqueuer, TechniqueConfig.RenderEffectDependency, TechniqueConfig.SkipColorClearDependency, TechniqueConfig.StencilReflectionDependency, TechniqueConfig.StencilRefractionDependency, TechniqueConfig.TechniqueDependency, TextureConfig, TextureConfig.Animated, TextureConfig.BaseDerived, TextureConfig.CubeRender, TextureConfig.Derived, TextureConfig.Frame, TextureConfig.Implementation, TextureConfig.Original, TextureConfig.Original1D, TextureConfig.Original1D.Blank, TextureConfig.Original1D.Contents, TextureConfig.Original1D.ImageFile, TextureConfig.Original2D, TextureConfig.Original2D.Blank, TextureConfig.Original2D.Contents, TextureConfig.Original2D.ImageFile, TextureConfig.Original2DTarget, TextureConfig.Original3D, TextureConfig.Original3D.Blank, TextureConfig.Original3D.Contents, TextureConfig.Original3D.ImageFile, TextureConfig.OriginalCubeMap, TextureConfig.OriginalCubeMap.Blank, TextureConfig.OriginalCubeMap.Contents, TextureConfig.OriginalCubeMap.FileTrio, TextureConfig.OriginalCubeMap.ImageFile, TextureConfig.OriginalCubeMap.ImageFiles, TextureConfig.OriginalRectangle, TextureConfig.Reflection, TextureConfig.Refraction, TextureCoordGenConfig, TextureCoordGenConfig.EyeLinear, TextureCoordGenConfig.Linear, TextureCoordGenConfig.NormalMap, TextureCoordGenConfig.ObjectLinear, TextureCoordGenConfig.ReflectionMap, TextureCoordGenConfig.SphereMap, TextureEnvironmentConfig, TextureEnvironmentConfig.Add, TextureEnvironmentConfig.AlphaParam, TextureEnvironmentConfig.Blend, TextureEnvironmentConfig.Combine, TextureEnvironmentConfig.Decal, TextureEnvironmentConfig.Modulate, TextureEnvironmentConfig.Replace, TextureEnvironmentConfig.RGBParam, TextureStateConfig, TextureUnitConfig, TileConfig, TileConfig.Derived, TileConfig.Implementation, TileConfig.Original, ToolSceneConfig, Transform3DExpression, Transform3DExpression.Constant, Transform3DExpression.NonUniform, Transform3DExpression.Reference, Transform3DExpression.TextureFrame, Transform3DExpression.Uniform, TranslatedPathProperty, TudeySceneConfig, TudeySceneModel.AreaEntry, TudeySceneModel.Entry, TudeySceneModel.GlobalEntry, TudeySceneModel.IdEntry, TudeySceneModel.Paint, TudeySceneModel.PathEntry, TudeySceneModel.PlaceableEntry, TudeySceneModel.TileEntry, TudeySceneModel.Vertex, TudeyViewerEffectConfig, TudeyViewerEffectConfig.Camera, UserInterfaceConfig, UserInterfaceConfig.Derived, UserInterfaceConfig.Implementation, UserInterfaceConfig.Original, Vector3fExpression, Vector3fExpression.Cartesian, Vector3fExpression.Constant, Vector3fExpression.Reference, VectorVariable, VectorVariable.Constant, VectorVariable.Uniform, ViewerAffecterConfig, ViewerEffectConfig, ViewerEffectConfig.BackgroundColor, ViewerEffectConfig.Particles, ViewerEffectConfig.RenderEffect, ViewerEffectConfig.Skybox, ViewerEffectConfig.Sound, WallConfig, WallConfig.Derived, WallConfig.Implementation, WallConfig.Original

public interface Copyable

An interface for objects that can be copied.


Method Summary
 Object copy(Object dest)
          Creates a copy of this object, (re)populating the supplied destination object if possible.
 Object copy(Object dest, Object outer)
          Creates a copy of this object, (re)populating the supplied destination object if possible.
 

Method Detail

copy

Object copy(Object dest)
Creates a copy of this object, (re)populating the supplied destination object if possible.

Returns:
either a reference to the destination object, if it could be repopulated, or a new object containing the copied state.

copy

Object copy(Object dest,
            Object outer)
Creates a copy of this object, (re)populating the supplied destination object if possible.

Parameters:
outer - the outer object reference to use for inner object creation, if any.
Returns:
either a reference to the destination object, if it could be repopulated, or a new object containing the copied state.


Copyright © 2011. All Rights Reserved.