Could you replace this nasty beast with the array of constructors, by something like this:

    @Override
    public DataSerializableFactory createFactory() {
        return new DataSerializableFactory() {
            @Override
            public IdentifiedDataSerializable create(int typeId) {
                switch (typeId) {
                    case CALLABLE_TASK:
                        return new CallableTaskOperation();
                    case MEMBER_CALLABLE_TASK:
                        return new MemberCallableTaskOperation();
                    case RUNNABLE_ADAPTER:
                        return new RunnableAdapter();
                }
                return null;
            }
        };
    }

I never understood the current complexity. I'm probably going to remove them all from the system.