//check whether derivative orders in from less or equal to orders of current node
for (int i = currentNode.size() - 1; i >= 0; --i)
if (currentDescriptor.getDerivativeOrder(i) < fromDescriptor.getDerivativeOrder(i))
return currentNode;
IntArray orders = new IntArray(currentDescriptor.getDerivativeOrders());
DFromTo derivative = derivatives.get(orders);
if (derivative == null) {
int order, j;
SimpleTensor var;
int[] indices;
SimpleIndices varIndices;
TensorField __from = (TensorField) this.from;
Tensor __to = this.to;
IndexGeneratorImpl ig = null;
for (int i = orders.length() - 1; i >= 0; --i) {
order = orders.get(i) - this.orders.get(i);
while (order > 0) {
var = (SimpleTensor) from.get(i);
indices = new int[var.getIndices().size()];
//lazy initialization