Preconditions.checkNotNull (resource);
CloudletComponent.this.transcript.traceDebugging ("acquiring the resource `%s`...", resource.identifier);
// FIXME: This should be done in `Active` state
// FIXME: This should be done in an `FsmAccess`
final ComponentCallReference reference = ComponentCallReference.create ();
final ComponentAcquireRequest request = ComponentAcquireRequest.create (resource, reference);
final DeferredFuture<ComponentAcquireReply> future = DeferredFuture.create (ComponentAcquireReply.class);
CloudletComponent.this.componentPendingAcquires.put (reference, future.trigger);
CloudletComponent.this.componentControllerProxy.acquire (request);
final DeferredFuture<ComponentResourceDescriptor> completionFuture = DeferredFuture.create (ComponentResourceDescriptor.class);
CloudletComponent.this.fsm.new FsmFutureCompletionAccess<ComponentAcquireReply> () {