src/main/java/com/helger/genericode/Genericode10Helper.java
@Nonnull
  public static Key createKey (@Nonnull @Nonempty final String sColumnID,
                               @Nonnull @Nonempty final String sShortName,
                               @Nullable final String sLongName,
                               @Nonnull final Column aColumn)
  {
    ValueEnforcer.notEmpty (sColumnID, "ColumnID");
    ValueEnforcer.notEmpty (sShortName, "ShortName");
    ValueEnforcer.notNull (aColumn, "Column");

    final Key aKey = s_aFactory.createKey ();
    aKey.setId (sColumnID);
    aKey.setShortName (createShortName (sShortName));
    if (StringHelper.hasText (sLongName))
      aKey.getLongName ().add (createLongName (sLongName));
    aKey.getColumnRef ().add (createKeyColumnRef (aColumn));
    return aKey;
  }
@Nonnull
  public static Key createKey (@Nonnull @Nonempty final String sColumnID,
                               @Nonnull @Nonempty final String sShortName,
                               @Nullable final String sLongName,
                               @Nonnull final Column aColumn)
  {
    ValueEnforcer.notEmpty (sColumnID, "ColumnID");
    ValueEnforcer.notEmpty (sShortName, "ShortName");
    ValueEnforcer.notNull (aColumn, "Column");

    final Key aKey = s_aFactory.createKey ();
    aKey.setId (sColumnID);
    aKey.setShortName (createShortName (sShortName));
    if (StringHelper.hasText (sLongName))
      aKey.getLongName ().add (createLongName (sLongName));
    aKey.getColumnRef ().add (createKeyColumnRef (aColumn));
    return aKey;
  }
Create a new key to be added to a column set

@param sColumnID
The ID of the column
@param sShortName
The short name of the column
@param sLongName
The long name of the column
@param aColumn
The referenced column. May not be <code>null</code>.
@return Never <code>null</code>.