public virtual void tweenObjects(com.brashmonkey.spriter.animation.SpriterAnimation
			 animation)
        {
            foreach (System.Collections.Generic.KeyValuePair<com.brashmonkey.spriter.objects.SpriterObject
                , int> entry in objectsToTween.EntrySet())
            {
                com.brashmonkey.spriter.objects.SpriterObject toTween = entry.Key;
                com.brashmonkey.spriter.animation.SpriterKeyFrame frame = animation.frames[entry.
                    Value];
                long time = frame.getTime();
                com.brashmonkey.spriter.animation.SpriterKeyFrame currentFrame = animation.getPreviousFrameForObject
                    (toTween, time);
                com.brashmonkey.spriter.animation.SpriterKeyFrame nextFrame = animation.getNextFrameFor
                    (toTween, currentFrame, 1);
                if (nextFrame != currentFrame)
                {
                    com.brashmonkey.spriter.objects.SpriterObject object1 = currentFrame.getObjectFor
                        (toTween);
                    com.brashmonkey.spriter.objects.SpriterObject object2 = nextFrame.getObjectFor(toTween
                        );
                    this.interpolateSpriterObject(toTween, object1, object2, currentFrame.getTime(),
                        nextFrame.getTime(), time);
                }
                com.brashmonkey.spriter.objects.SpriterObject[] objects = new com.brashmonkey.spriter.objects.SpriterObject
                    [frame.getObjects().Length + 1];
                for (int i = 0; i < objects.Length - 1; i++)
                {
                    objects[i] = frame.getObjects()[i];
                }
                objects[objects.Length - 1] = toTween;
                frame.setObjects(objects);
            }
        }
        public virtual void tweenBones(com.brashmonkey.spriter.animation.SpriterAnimation
			 animation)
        {
            foreach (System.Collections.Generic.KeyValuePair<com.brashmonkey.spriter.objects.SpriterBone
                , int> entry in bonesToTween.EntrySet())
            {
                com.brashmonkey.spriter.objects.SpriterBone toTween = entry.Key;
                com.brashmonkey.spriter.animation.SpriterKeyFrame frame = animation.frames[entry.
                    Value];
                long time = frame.getTime();
                com.brashmonkey.spriter.animation.SpriterKeyFrame currentFrame = animation.getPreviousFrameForBone
                    (toTween, time);
                com.brashmonkey.spriter.animation.SpriterKeyFrame nextFrame = animation.getNextFrameFor
                    (toTween, currentFrame, 1);
                if (nextFrame != currentFrame)
                {
                    com.brashmonkey.spriter.objects.SpriterBone bone1 = currentFrame.getBoneFor(toTween
                        );
                    com.brashmonkey.spriter.objects.SpriterBone bone2 = nextFrame.getBoneFor(toTween);
                    this.interpolateAbstractObject(toTween, bone1, bone2, currentFrame.getTime(), nextFrame
                        .getTime(), time);
                }
                com.brashmonkey.spriter.objects.SpriterBone[] bones = new com.brashmonkey.spriter.objects.SpriterBone
                    [frame.getBones().Length + 1];
                for (int i = 0; i < bones.Length - 1; i++)
                {
                    bones[i] = frame.getBones()[i];
                }
                bones[bones.Length - 1] = toTween;
                frame.setBones(bones);
            }
        }