code: public static void copyPackageInfo(final MetadataParserPath path, final Metadata metadata, final boolean verbose) throws IOException {
          for (final MetadataDescriptor descriptor : metadata.getMetadataDescriptorList()) {
              if (descriptor.getPathToPackageInfoApi() != null) {
                  final File sourceFile = new File(descriptor.getPathToPackageInfoApi());
                  final String destDirectory = path.pathToApi + File.separatorChar + descriptor.getPackageApi().replace('.', '/');
                  deleteExistingPackageInfo(destDirectory, verbose);
                  copy(sourceFile, destDirectory, verbose);
              }
  
              if (descriptor.getPathToPackageInfoImpl() != null) {
                  final File sourceFile = new File(descriptor.getPathToPackageInfoImpl());
                  final String destDirectory = path.pathToImpl + File.separatorChar + descriptor.getPackageImpl().replace('.', '/');
                  deleteExistingPackageInfo(destDirectory, verbose);
                  copy(sourceFile, destDirectory, verbose);
              }
          }
      }
docs: Copies the optional packageInfo files into the packages.
  @param path
  @param metadata
  @throws IOException