code: public static List<FieldExtension> getFields(DelegateExecution execution) {
          if (isExecutingExecutionListener(execution)) {
              return getListenerFields(execution);
          } else {
              return getFlowElementFields(execution);
          }
      }
docs: Returns the list of field extensions, represented as instances of
  {@link FieldExtension}, for the current activity of the passed
  {@link DelegateExecution}.
  <p>
  If the execution is currently being used for executing an
  {@link ExecutionListener}, the fields of the listener will be returned. Use
  {@link #getFlowElementFields(DelegateExecution)} or
  {@link #getListenerFields(DelegateExecution)} if needing the flow element
  of listener fields specifically.