docs: private void objectTypeRow(final int row,
              final int column,
              final String value,
              final int mergedColStart) {
          if ( value.contains( "$param" ) || value.contains( "$1" ) ) {
              throw new DecisionTableParseException( "It looks like you have snippets in the row that is " +
                      "meant for object declarations." + " Please insert an additional row before the snippets, " +
                      "at cell " + RuleSheetParserUtil.rc2name( row, column ) );
          }
          ActionType action = getActionForColumn( row, column );
          if ( mergedColStart == RuleSheetListener.NON_MERGED ) {
              if ( action.getCode() == Code.CONDITION ) {
                  SourceBuilder src = new LhsBuilder( row-1, column, value );
                  action.setSourceBuilder( src );
                  this.sourceBuilders.add( src );
  
              } else if ( action.getCode() == Code.ACTION ) {
                  SourceBuilder src = new RhsBuilder( Code.ACTION, row-1, column, value );
                  action.setSourceBuilder( src );
                  this.sourceBuilders.add( src );
              }
          } else {
              if ( column == mergedColStart ) {
                  if ( action.getCode() == Code.CONDITION ) {
                      action.setSourceBuilder( new LhsBuilder( row-1, column, value ) );
                      this.sourceBuilders.add( action.getSourceBuilder() );
                  } else if ( action.getCode() == Code.ACTION ) {
                      action.setSourceBuilder( new RhsBuilder( Code.ACTION, row-1, column, value ) );
                      this.sourceBuilders.add( action.getSourceBuilder() );
                  }
              } else {
                  ActionType startOfMergeAction = getActionForColumn( row, mergedColStart );
                  action.setSourceBuilder( startOfMergeAction.getSourceBuilder() );
              }
          }
      }