@Override
	public String mapAnnotationAttributeName(String descriptor, String name) {
		String annotationName = Type.getType(descriptor).getInternalName();
		ClassPathNode classPath = workspace.findClass(annotationName);

		// Not found, probably not intended to be renamed.
		if (classPath == null)
			return name;

		// Get the declaration and, if found, treat as normal method mapping.
		ClassInfo info = classPath.getValue();
		MethodMember attributeMethod = info.getMethods().stream()
				.filter(method -> method.getName().equals(name))
				.findFirst().orElse(null);

		// Not found, shouldn't generally happen.
		if (attributeMethod == null)
			return name;

		// Use the method mapping from the annotation class's declared methods.
		return mapMethodName(annotationName, name, attributeMethod.getDescriptor());
	}
@param workspace
		Workspace to pull class info from when additional context is needed.
@param mappings
		Mappings wrapper to pull values from.
recaf-core/src/main/java/software/coley/recaf/services/mapping/WorkspaceBackedRemapper.java