Currently the DropTargetDropEvent.acceptDrop() method throws an exception if called multiple times while processing a single DnD event. Looking at its implementation it looks like there's no reason for this. The method only updates a few internal fields which are used when processing the dropComplete() operation. Therefore, before dropComplete() is invoked, the user code should be able to call the acceptDrop() method several times.
There's a JavaFX bug that depends on this possibility: https://javafx-jira.kenai.com/browse/RT-34283