code: public static InputColumn<?> getIdentifyingInputColumn(final ComponentJob componentJob) {
          final ComponentDescriptor<?> descriptor = componentJob.getDescriptor();
          final Set<ConfiguredPropertyDescriptor> inputProperties = descriptor.getConfiguredPropertiesForInput(false);
          if (inputProperties.size() != 1) {
              return null;
          }
  
          final ConfiguredPropertyDescriptor inputProperty = inputProperties.iterator().next();
          final Object input = componentJob.getConfiguration().getProperty(inputProperty);
  
          if (input instanceof InputColumn) {
              return (InputColumn<?>) input;
          } else if (input instanceof InputColumn[]) {
              final InputColumn<?>[] inputColumns = (InputColumn[]) input;
              if (inputColumns.length != 1) {
                  return null;
              }
              return inputColumns[0];
          }
          return null;
      }
docs: Gets the identifying input column of an {@link ComponentJob}, if there is
  such a column. With an identifying input column, a externalizable
  reference to the {@link ComponentJob} can be build, based on the
  descriptor name, component name and the identifying column.
  
  @param componentJob
  @return